java 面向对象OOP
一、面向过程(POP) 与 面向对象(OOP)
提到面向对象,就不得不提面向过程。
面向过程(POP) :面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。
面向对象(OOP) :面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。
二、例子
人把大象装进冰箱。
-
面向过程实现
第一步:把冰箱门打开 第二步:抬起大象,塞进冰箱 第三步:把冰箱门关闭
-
面向对象实现
思路:人{ 打开(冰箱){ 冰箱.打开(); } 抬起(大象){ 大象.进入(冰箱); } 关闭(冰箱){ 冰箱.关闭(); } } 冰箱{ 打开(){} 关闭(){} } 大象{ 进入(冰箱){} }
代码:
冰箱类 Refrigeratorpublic 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); } }
运行结果:
三、总结
- 面向对象是一个非常重要的思想,一下子就掌握是非常难的,只有多思考,多敲代码,才能相对容易掌握它。上面的代码,为了简洁我没有加属性【狗头保命】。
- 这是我第一次写博客,有不足或出错的地方,欢迎大家批评指正。