面向对象: 面向对象是基于面向过程的编程思想 面向过程:自己一步步的完成操作,强调的是过程。 面向对象:调用别人的操作,强调的是结果。 面向对象的思想特点: A:是一种更符合我们思想习惯的思想 B:可以将复杂的事情简单化 C:将我们从执行者变成了指挥者 角色发生了转换
举例: A:洗衣服 面向过程:把盆子接水,放洗衣粉-->把衣服扔进去浸泡-->用手揉搓衣服-->漂洗衣服-->拧干-->拿衣架晾起来 面向对象:把衣服扔到洗衣机,放洗衣粉,按下启动即可-->拿衣架晾起来 B:吃饭 面向过程:去超市买菜,买米-->洗菜,洗米-->切菜,做饭-->炒菜-->端菜,盛饭-->开吃 面向对象:去饭店-->调用服务员的记菜功能-->调用厨师的炒菜功能-->调用服务员的端菜功能-->开吃-->付账 可以找一个对象帮我们做这些事情。 C:买电脑 面向过程:查阅资料-->坐公交-->到赛格电脑城-->各家比较-->选中自己喜爱的并讨价还价-->回家 面向对象:查阅资料-->京东-->货到付账
写代码举例: 需求:把大象装进冰箱 步骤: A:打开冰箱门 B:塞进大象 C:关闭冰箱门 A:面向过程 a:打开冰箱门 b:塞进大象 c:关闭冰箱门 代码: class Demo { public static void main(String[] args) { //System.out.println("打开冰箱门"); //System.out.println("塞进大象"); //System.out.println("关闭冰箱门"); //可能打开冰箱门的操作需要做多次 //并且,打开冰箱门这个功能的代码比较多 //这个时候,其实我们应该用方法改进 //调用功能 open(); in(); close(); //open(); //open(); } public static void open() { System.out.println("打开冰箱门"); } public static void in(){ System.out.println("塞进大象"); } public static void close() { System.out.println("关闭冰箱门"); } } B:面向对象 要想做到面向对象,请参照我的三句话: a:分析有哪些类存在 UML(统一建模语言) 名词提取法 b:分析每个类有哪些功能 c:分析类与类的关系 分析我们的问题: 把大象装进冰箱 a:分析有哪些类存在 大象 冰箱 测试类(带main方法的那个类) b:分析每个类有哪些功能 大象:进去 冰箱:打开,关闭 测试类:main c:分析类与类的关系 在测试类中调用冰箱类和大象类的功能 代码: class 大象 { public static void in(){ System.out.println("塞进大象"); } } class 冰箱 { public static void open() { System.out.println("打开冰箱门"); } public static void close() { System.out.println("关闭冰箱门"); } } class 测试类 { public static void main(String[] args) { 冰箱的open(); 大象的in(); 冰箱的close(); } }