大体知道java语法2----------理解面向对象

我参加过大大小小n场面试,被好几位面试官问到过:能不能谈谈面向对象的几大特征?什么是面向对象?对于这两个问题,我始终觉得一定要理解,其实不只是这种概念题(姑且算它是概念题吧),包括各种语法都应该去理解它的本质,就跟做数学题一样,理解公式的本质才是最有用、高效的学习方法。在理解面向对象的概念之前,我们先背背面向对象几大特征吧-------------抽象、封装、继承、多态。

(一)抽象
从某一类型的人、事、物中抽出其共性,例如属性、方法,接着将抽象出的属性和方法放入一个类中,这就完成了一个抽象。
(二)封装
一个类实例化后,有专门对外暴露的方法、属性,还有一部分对外不暴露,不管暴露与否,这些都是封装在该类的实例中,外人访问需要权限。
(三)继承
对事物不可能无限制的抽象,抽象后也不一定适用于相似的场景。就比如有一个类“狗”----Dog,拥有年龄、毛色等属性或方法,但是现在我现在要定义中华田园犬这个类,那么是重新定义么,显然不现实,此时可以继承extends Dog,对其中的某些属性或方法进行重写,当然了,也可以添加自己的属性或方法。
(四)多态
多态,又分两种,重载或重写。重载:两个方法,因为参数数量不同或类型不同,决定执行哪个,这是编译时多态。子类重写父类方法,这是运行时多态。具体,我后期再补充,我先天天更新点,把架子都搭起来,然后再慢慢补充。

猜你喜欢

转载自www.cnblogs.com/jianan/p/9458071.html
今日推荐