面向对象的三大特征:封装、继承、多态。
封装:提供程序的安全性,将数据(属性)和行为(方法)包装到类对象中。在方法内部对属性进行操作,在类对象的外部调用方法。这样,无需在关心方法内部的具体实现细节,从而隔离了复杂度。在python里面没有专门的修饰符用于属性的私有,如果该属性不希望在类对象外部被访问,前边使用两个"_"。
代码如下:
class Student:
def __init__(self,name,age):
self.name = name
self.__age = age #年龄不希望在类的外部被使用,所以加了两个__
def show(self):
print(self.__age)
print(self.name)
stu = Student('张三',20)
stu.show()
#在类的外部使用name与age
print(stu.name)
#print(stu.__age)
#print(dir(stu))
print(stu._Student__age) #在类的外部可以使用,_Student__age进行访问
运行结果:
20
张三
张三
20
Process finished with exit code 0
继承:提高代码的复用性
语法格式:
class 子类名字(父类1,父类2...)
pass
如果一个类没有继承任何的类,则默认继承object<