code学习

面试:面向对象的三大特性,封装、继承、多态1.封装2.继承3.多态’4.个人的理解总结

1.封装

a.定义

封装指的是 属性私有化,根据需要提供setter和getter方法来访问属性。即隐藏具体属性和实现的细节,仅对外开放接口,控制程序中的属性的访问级别。

b.目的

增强安全性和简化编程

2.继承

a.定义

继承是指将多个相同的属性和方法提取出来新建一个父类。java中一个类智能继承一个父类,新类的定义可以增加新的数据以及新的功能,

父类的属性都会被继承,无论是什么访问修饰符,

父类中的private属性被继承,但无法被访问!

父类的方法会被子类继承,无论访问修饰符!

父类的private方法会被继承,但无法访问!

b.好处

提高代码的复用性,程序的可维护性,提高开发效率

3.多态’

a.定义

多态可以分为两种:设计时多态和运行时多态

设计时多态:即重载,指java允许方法名相同而参数不同

运行时多态:即重写,指java运行根据调用该方法的类型决定调用哪一个方法。

父类调用子类特有的方法要向下转型

4.个人的理解总结

  1. 封装是属性私有化,通过封装可以达到增强安全性
  2. 继承的时候是子类继承父类的所有方法和属性,但是private修饰的方法和属性无法被访问。继承是为了代码的复用。
  3. java中应该尽量少用继承关系,来降低程序的耦合性
  4. 使用多态时,父类在调用方法的时候,优先调用子类的方法。如果子类没有重写父类方法,则调用父类方法。多态是为了增强代码的灵活性。