2019独角兽企业重金招聘Python工程师标准>>>
一、什么是面向对象编程
在人类社会中会对各个东西进行分类,譬如狗和猫都属于动物这个类别。对于动物这个类别,猫和狗都有相同的特征和行为,也有一些各自独特的行为特征。 把相同的属性(特征)以及行为抽象出来就是一个类别。 所以把人类这种认识世界的思想应用到编程语言中去,就是面向对象编程(OOP)。这类编程语言有java,C# ,C++等等。 而C,Bash,Lisp,VB这样的编程语言就是面向过程的语言。 面向过程以及面向对象各有优劣,对于上层应用开发来说,当然是面向对象这种语言更符合人类的认知,写起来以及阅读代码会更轻松。
二、面向对象语言的三大特征
1.封装
把相同类的属性和方法抽象出来,对外以提供公有方法的形式提供,对外部隐藏实现细节。
2.继承
把相同的属性和方法抽象成一个父类,继承了父类的子类全部拥有父类的特征。可以复用代码。也可以重新实现父类的方法
3.多态
父类变量可以指向子类变量。针对父类的一个方法,不同的子类可以有不同的实现逻辑。