1、面向对象和面向过程的关系以及区别?
面向过程编程:开发程序的过程中,其中每一步功能的实现都是我们自己参与的,我们相当于参与者,代表语言:C语言
面向对象编程:不断地创建对象,指挥对象做事情,我们从参与者变成了指挥者,代表语言:Java
2、生活中的举例:
1)下课了要喝水:
面向过程:自己拿起水杯,走到饮水机面前,选择冷水还是热水,接水 (全程自己参与)
面向对象:乞求陈真去接水,陈真拿起水杯,陈真走到饮水机面前,陈真接水 (只需要知道对象要做什么就行了)
2)吃饭:
面向过程:自己去买菜,洗菜,切菜,做菜,装盘 (全程自己参与)
面向对象:去饭店点菜,洗菜,切菜,做菜,装盘 (全程只需要发号施令就可以了)
3、具体的案例,从代码程序角度出发
将大象装进冰箱。
面向过程:
class Demo1{
public static void main(String[] args){
//1. 打开冰箱门
//...打开冰箱门是一个很复杂的动作,这个逻辑肯定不是几行代码就能搞定的,但是需要自己实现
//2. 大象放进冰箱里
//...这一步是一个很复杂的动作,需要自己实现
//3. 关闭冰箱门
//...关闭冰箱门是一个很复杂的动作,这个逻辑肯定不是几行代码就能搞定的,但是需要自己实现
}
}
类:是java语言的基本单位,世间万物都可以使用类进行描述。
class Xxx{
....
}
面向对象的思想:
需要考虑的东西:(将大象装进冰箱。)
1、都有哪些类?
a. 可以使用UML的技术来判断
b. 使用名词提取法
大象类,冰箱类,测试类
2、类中都有些什么东西?
分析事物具体的属性和行为。
大象类:
属性:身高,体重,年龄,....
行为:跳进冰箱,.....
冰箱类:
属性:颜色,价格,......
行为:打开冰箱门,关闭冰箱门,.....
测试类:
main方法
3、类和类之间都有什么样的关系?
测试类中使用大象类和冰箱类进行使用。
class Elephant{
身高;
体重;
年龄;
skip(){
....
}
}
class IceBox{
颜色;
价格;
open(){
//..
}
close(){
//..
}
}
class Demo{
public static void main(String[] args){
//创建一个冰箱类对应的对象出来
//冰箱对象使用打开冰箱门的方法
//创建一个大象类对应的对象出来
//大象使用跳进冰箱的方法
//冰箱对象使用关闭冰箱门的方法
}
}
4、面向对象特征
封装(encapsulation)
继承(inheritance)
多态(polymorphism)
5、面向对象思想特点
是一种更符合我们思想习惯的思想
可以将复杂的事情简单化
将我们从执行者变成了指挥者,角色发生了转换
6、类和对象的关系:
人 类:class Person
属性:姓名,年龄,性别 成员变量:name, age, gender
行为:吃,睡 成员方法:eat(), sleep()
标签:冰箱,陈真,冰箱门,面向对象,大象,class
From: https://www.cnblogs.com/qiwei-bigdata/p/18333939