1、面向对象和面向过程的关系以及区别?
面向过程编程:开发程序的过程中,其中每一步功能的实现都是我们自己参与的,我们相当于参与者,代表语言:C语言
面向对象编程:不断地创建对象,指挥对象做事情,我们从参与者变成了指挥者,代表语言:Java2、生活中的举例: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()
我们学习编程语言,就是为了模拟现实世界的事物,实现信息化。比如:去超市买东西的计费系统,去银行办业务的系统。
我们如何表示一个现实世界事物呢:
属性 就是该事物的描述信息
行为 就是该事物能够做什么
举例:学生事物
我们学习的Java语言最基本单位是类,所以,我们就应该把事物用一个类来体现。
类:是一组相关的属性和行为的集合
对象:是该类事物的具体体现
对象是类的具体体现
举例:
类 学生
对象 班长就是一个对象
类与对象的关系如图