java 面向对象OOP

一、面向过程(POP) 与 面向对象(OOP)

提到面向对象,就不得不提面向过程。
面向过程(POP) :面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。
面向对象(OOP) :面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。

二、例子

人把大象装进冰箱。

  1. 面向过程实现

       第一步:把冰箱门打开
       第二步:抬起大象,塞进冰箱
       第三步:把冰箱门关闭
    
  2. 面向对象实现
    思路:

    人{
    	打开(冰箱){
    		冰箱.打开();
     	}
    
    	抬起(大象){
    		大象.进入(冰箱);
     	}
    
    	关闭(冰箱){
    			冰箱.关闭();
     	}
    }
    
    冰箱{
    	打开(){}
    	关闭(){}
    }
    	 
    大象{
    	进入(冰箱){}
    }
    

    代码:
    冰箱类 Refrigerator

    public class Refrigerator {// 冰箱类
    
        public void open() {
            System.out.println("打开冰箱");
        }
    
        public void close() {
            System.out.println("关闭冰箱");
        }
    }
    

    大象类 Elephant

    public class Elephant { // 大象类
        public void into() {
            System.out.println("大象进入冰箱");
        }
    }
    
    

    人类 People

    public class People {
        /**
         *打开冰箱
         */
        public void open(Refrigerator refrigerator){
            refrigerator.open();
        }
    
        /**
         * 操作:装大象
         */
        public void operation(Elephant elephant) {
            elephant.into();
        }
    
        /**
         * 关闭冰箱
         */
        public void close(Refrigerator refrigerator) {
            refrigerator.close();
        }
    }
    

    Main 类

    public class Main {
        public static void main(String[] args) {
            People cxk = new People();
            Refrigerator refrigerator = new Refrigerator();
            Elephant elephant = new Elephant();
            // 第一步:打开冰箱
            cxk.open(refrigerator);
            // 第二步:装进大象
            cxk.operation(elephant);
            // 第三步:关闭冰箱
            cxk.close(refrigerator);
        }
    }
    

    运行结果:
    在这里插入图片描述

三、总结

  • 面向对象是一个非常重要的思想,一下子就掌握是非常难的,只有多思考,多敲代码,才能相对容易掌握它。上面的代码,为了简洁我没有加属性【狗头保命】。
  • 这是我第一次写博客,有不足或出错的地方,欢迎大家批评指正。
posted @ 2020-08-04 18:23  宇宙砍柴人  阅读(156)  评论(0编辑  收藏  举报