面向对象的三大特征:封装(提高程序的安全性)、继承(提高代码的复用性)、多态(提高程序的可扩展性和可维护性)
在Python中没有专门的修饰符,用于属性的私有,如果该属性不希望被类对象外部被访问,前面使用两个“_”
class Student:
def __init__(self,name,age):
self.name=name
self.__age=age#年龄不希望被外部使用,所以前面加了两个下划线
def show(self):
print(self.name,self.__age)#可以在内部被使用
可以使用内置函数dir()查看指定对象的所有属性,然后找到需要的属性,可以复制在外部获取
stu=Student("张三",20)
stu.show()
print(stu.name)
#print(stu.__age)#报错
print(dir(stu))
print(stu._Student__age)
class 子类类名(父类1,父类2……):
如果一个类没有继承任何类,则默认继承object
Python支持多继承
class A(object):
pass
class B(object):
pass
class C(A,B):
pass
定义子类时,必须在其构造函数中,调用父类的构造函数
c