您的位置:首页 > 编程语言 > Java开发

Java面向对象三大特性的理解

2015-10-07 20:42 387 查看
Java面向对象三大特性:封装、继承、多态

封装:

,封装就是要把属于同一类事物的共性(包括属性与行为)归到一个类中,比如

人(类){

身高(属性);

体重(属性);

性别(属性);

吃饭(行为);

说话(行为);

跑步(行为);

}

这样就是把几个共性的东西封装到一个类之中了。

继承:

教师(类)继承了人(类){

身高(属性);

体重(属性);

性别(属性);

吃饭(行为);

说话(行为);

跑步(行为);

教书(教师的行为)
}

教师extends人{

教书(行为)

}

在这里,由于封装,使得有共性的一类事物的所有信息都被归于一类之中,有些事物有共性,但还存在区别,比如教师有自己的特性——教书

我们就不用再定义一遍人的属性与方法,只需继承就人这一个类,在这基础上拓展教师教书的专有行为即可。

多态:

就是站在抽象的层面上去实施一个统一的行为,到个体(具体)的层面上时,
这个统一的行为会因为个体(具体)的形态特征而实施自己的特征行为.

假设有学生和老师两个类,他们都继承了人的特性(属性和行为),也有自己的行为学生听课,老师教书,站在抽象的角度上,也就是人的角度上讲,
也就是人在教书,人在听课,就显得比较怪异,对于行为主体,我们用抽象层次的人来表示,对于行为本身,用的是具体的”教书“,”听课“
解决的方法就是把行为‘’教书”,“听课”也抽象化为做事,这样就可以表示为“人在做事”。
当调用"人"去"做事"的时候,如果这个人是教师,那他所做的事实际上就是"教书",如果这个人是学生,那他所做的事实际上就是"听课".

也就是说在这里"人"是多态的,
在不同的形态时,特征行为是不一样的, 这里的"人", 同时有两种形态,一种是教师形态,一种是学生形态,所对应的特征行为分别是"授课"与"听课".这就是多态的体现。

简单地说:
能站在抽象的角度去描述一件事,
而针对这件抽象的事, 对于不同个体(具体)又能找到其自身的行为去执行, 这就是多态.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: