Java是一门完全面向对象的语言,对于初学者说起面向对象可能理解煞是费力。那么什么是对象,什么是面向对象呢?笔者在这就谈谈吧,也算是自己加深理解。也怪自己当初理解的很困难,就算在这加深印象吧,当然对于初学者也算是抛砖引玉呢! 参考传智播客唐文杰老师
编程界有两种编程思想,一种是面向过程的编程,一种是面向对象的编程。
- 面向过程: 就是面向程序中的函数。在使用面向过程编写程序时,会分析整个功能的流程,参与书写功能每个流程的代码。开发人员参与了整个功能的开发分析,属于参与者
- 面向对象:对象就是实体(在java中被关键字new创建的都是实体) ,其实就是面向使用new创建出来的实体(对象)。对象中封装了实现功能的代码。 在使用面向对象编写程序时,会先去找有没有存在已经解决问题的类(类中封装解决问题的函数),存在,则直接调用类中的功能解决问题。不存在,则再使用面向过程的思想解决问题。
面向对象VS面向过程:
1、 面向对象,在程序中其实就是面向封装了功能的类
使用面向对象,对于开发人员来讲,可以简化代码的的书写(提高了开发效率)
2、 面向过程,在程序中其实就是面向函数
使用面向过程,对于开人员来讲,需要参与每一步的分析的实现(影响开发效率)
大象装冰箱分三步:1,打开冰箱门;2,把大象装进行冰箱;3,关闭冰箱门
技巧:名词提炼法。 把需求中的名词先提炼出来
伪代码。 只要自己看得懂,随便写的代码(可以是中文)
名词:大象、冰箱
使用伪代码来描述大象和冰箱
大象{
}
冰箱{
打开();
存储(大象);
关闭()
}
在使用伪代码描述完后,需要对所描述的事物创建实体:使用关键字new
大象 dx = new 大象();
冰箱 bx = new 冰箱();
实现把大象装进冰箱的功能:
bx.打开();
bx.存储(dx); //把大象存储到冰箱
bx.关闭();
案例2:人开门
名词:人、门
人和门都是生活中存在的事物,而事物是具备两个内容:特征、行为
人{
特征:性别、身高、年龄
行为:走、吃、说话
开门(门){
门.开();
门.关();
}
}
门{
特征:尺寸、颜色、材质
行为:
开();
关();
}
描述完事物后,创建事物的实体:
门 men = new 门();
人 ren = new 人();
ren.开门(men);2.对象在代码中的体现
String color;
int numbre;
void run(){
System.out.println(numbre+"个轮子的"+color+"汽车行驶中...");
}
}
class CarDemo{
public static void mian(Strin[] args){
//创建汽车对象
Car c = new Car();
c.color = "红色";
c.numbre = 4;
c.run();
}
}