面向对象的三大特征:封装,继承,多态
我们来看看私有方式的使用:
# 作者:互联网老辛# 开发时间:2021/4/4/0004 22:11class Student: def __init__(self,name,age): self.name=name self.__age=age def show(self): print(self.name,self.__age)laoxin=Student('互联网老辛',38)laoxin.show()print(laoxin.name)print(laoxin.__age)
私有属性如何被访问呢?
可以通过下面的形式来访问
print(laoxin.Student_ _ age)的形式进行访问
但一般情况下,我们看到私有方法,就尽量不要访问了。
2. 继承语法格式:
class 子类类名(父类1,父类2)
pass
# 作者:互联网老辛# 开发时间:2021/4/4/0004 22:11class Person(object): def __init__(self,name,age): self.name=name self.age=age def info(self): print(self.name,self.age)class Student(Person): def __init__(self,name,age,sut_no): super().__init__(name,age)self.sut_no=sut_noclass Teacher(Person): def __init__(self,name,age,teachofyear): super(Teacher, self).__init__(name,age)self.teachofyear=teachofyearstu=Student('互联网老辛',40,1001)teacher=Teacher('高胜寒',38,10)stu.info()teacher.info()
在Python中还可以支持多继承
比如校长,既能集成person类,又能继承teacher类。
多态的实现多态就是具有多种形态,意思是,即使不知道一个变量所引用的对象到底是什么类型,仍然可以通过这个变量调用方法,在运行过程中根据变量所引用的对象类型,动态的决定调用哪个对象中的方法。
# 作者:互联网老辛# 开发时间:2021/4/4/0004 22:11class Animal(object): def eat(self): print("动物需要吃东西")class Dog(Animal): def eat(self): print('狗吃骨头') #重写方法class Cat(Animal): def eat(self): print('猫吃鱼')class Person: #没有集成任何类def eat(self): print('人吃植物')def fun(obj): obj.eat()fun(Cat())fun(Dog())fun(Animal())fun(Person()) #但是他也能调用方法
原因:
Python是一种动态语言,静态语言要想实现多态,必须明确继承,然后才能使用,而动态语言只关心是否具有这个方法,关于类不管。
以上是内存溢出为你收集整理的【Python从零到壹】面向对象的封装,继承和多态全部内容,希望文章能够帮你解决【Python从零到壹】面向对象的封装,继承和多态所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)