前言
Python是面向对象的语言,也支持面向对象编程的三大特性:封装(隐藏)、继承、多态。
一、封装(隐藏)
隐藏对象的属性和实现细节,只对外提供必要的方法。相当于将"细节封装起来",只对外暴露“相关调用方法”。通过私有属性、私有方法的方式实现封装。
Python追求简洁的语法,没有严格的语法级别的"访问控制符",更多的是依靠程序员的自觉实现。
二、继承
如果一个新类继承自一个设计好的类,就直接具备了已有类的特征,就大大降低了工作难度,已有的类,我们称为"父类或基类",新的类,我们称为“子类或派生类”。
继承可以让子类具有父类的特性,提高了代码的重用性。
Python支持多重继承,一个子类可以继承多个父类,继承的语法格式如下:
class 子类类名(父类1,父类2,…):
类体
类成员的继承和重写:
-
成员继承:子类继承了父类除构造方法之外的所有成员。
-
方法重写:子类可以重新定义父类中的方法,这样就会覆盖父类中的方法,也称为重写。
class Person:
def __init__(self,name,age):
self.name=name
self.__age=age
def say_age(self):
print("我的年龄是",self.__age)
def say_introduce(self):
print("我的名字是{}".format(self.name))
class Student(Person):
def __init__