我们生活中大多数是面向过程的,要理解面向对象的编程思想,还得要多练,不过我认为练的时候要结合这种思想的话会事半功倍,下面是我认为比较通俗易懂两个理解。
理解一
人开门
面向过程:人打开门
面向对象:把人和门分成两个对象,也就是两个类。“人”的类中有“打开”的方法,把“门”对象传进去,然后再调用“门”类的“开”的方法
人{
打开(门){
门.开();
}
}
门{
开(){}
}
理解二
人把大象装进冰箱里
面向过程:1)打开冰箱 2)把大象装进去 3)关闭冰箱门
面向对象:把“人”和“大象”,“冰箱”分成三个类,“人”有“打开”和“操作”,“关闭”三个方法,“冰箱”有“开”和“合上”两个方法,“大象”
有进入的“方法”,然后如下所示:
人{
打开(冰箱){
冰箱.开();
}
操作(大象){
大象.进入(冰箱);
}
关闭(冰箱){
冰箱。合上();
}
}
冰箱{
开(){}
合上(){}
}
大象{
进入(冰箱){}
}
类和类的关系
关联关系:比如学院和研究生和教授三个之间是关联的关系,就是一个类里可以创建另一个类的属性,比如学院里面肯定有研究生属性,也有教授属性,教授里面也有研究生属性,就是这样一个关系。
继承关系:运动员下有篮球运动i员,排球运动员,游泳运动员,他们之间的关系是继承关系,两个类之间有共同的特性就可以继承。
聚集:球队里有队长和队员,他们的关系就是聚集关系,
组合:人的胳膊,腿,手之间的关系就是组合关系,组合和聚集很像但又不是,聚集中队长可以是另外一支球队的队长,但手和腿只能是一个人的手腿,不能是其他人的,这就是聚集和组合的区别。
编程过程面向对象的使用概述
1)程序员从执行者变成了指挥者
2)完成需求时:
先去找具有所需对象的功能的对象来使用。
如果该对象不存在,那么就创建一个你所需要的对象。这样就会简化开发并提高复用。
3)类(class)和对象(object)是面向对象的核心概念。
类是对一个事物的描述,是抽象,概念上的定义
对象是实际存在的该事物的每个个体,因此也被称为实例(instance);
4)“万物皆对象”
5)面向对象的设计重点是类的设计
6)定义类其实是定义类中的成员(成员变量和成员方法)
Java类及类的成员
1)Java代码世界是有诸多个不同功能的类来组成的
2)Java中类描述事物是由属性和行为构成,属性是成员变量,行为是成员方法。
Field=属性=成员变量,Method=(成员)方法=函数