面试官:Java面向对象的特征是社什么?
你:封装、继承、抽象、多态
面试官:。。。
这个回答好像大家都能说出来,多说点,用你自己的理解说出来:
1.封装
封装就是把客观事物进行抽象封装,隐藏一些可隐藏的东西,指向外界提供一个最简单的的接口。
把描述对象的属性和行为封装在一个模块中,也就是一个类中,属性用变量定义,行为用方法定义,方法可以直接访问同一个对象之间的属性。
2.抽象
把现实生活中的对象抽象为类,分过程抽象的数据抽象
- 数据抽象 : 鸟有翅膀、羽毛等(类的属性)
- 过程抽象 : 鸟会飞(类的方法)
3.继承
子类继承父类的特征和行为,也就是属和方法,并且可以重写父类的方法,也可以自己进行扩展,新增加属性
和方法。
举例:水果(父类) 苹果(子类) 香蕉(子类)
4.多态
多态是指允许不同子类型的对象对同一消息做出不同的响应,
系统可依据对象所属类别,引发对应类别的方法,而有不同的行为
优点:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。