#一个简单的继承,子类继承调用了父类的对象
class People():
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
#前三个是不定参数的写法,具体数值由外部赋予
self.__address=2.0
#“__”表示私有属性,只能在类内部使用
#此为定参数的写法,数值已确定
def say(self):
print('大家好,我是',self.name,'我今年%d岁了'%self.age,'我视力',self.__address)
class Student(People):
def __init__(self,name,age,sex,score):
super().__init__(name,age,sex)
#能且必须调用父类的全部成员属性
self.score=score
#子方法中创造新的对象,不定参数score
def talk(self):
print('我考了%d分'%self.score)
zs=Student('张三',18,'女',99)
#调用Student方法,并给不定参数 name,age,sex,score逐个赋值
zs.say()
#子类中没有say()函数,因而去调用父类的
zs.talk()
#继承的用法
class A():
def ab(self):
print('我是aaa')
class B():
def ab(self):
print('我是bbb')
class C(B,A): #子类继承父类方法
def cc(self):
print('我是ccc')
super().ab() #子类中的函数继承父类的函数,此处继承的是B的ab()
c=C()
c.cc()
class A():
def __init__(self):
pass
@property
def name(self):
return self._name
@name.setter
def name(self,name_x):
if name_x<20:
self._name=20
else:
self._name=name_x
a=A()
a.name=19
print(a.name)
面向对象三大特征:封装、继承、多态的用法
最新推荐文章于 2024-07-08 18:31:27 发布