面向对象三大特征:封装、继承、多态的用法

	#一个简单的继承,子类继承调用了父类的对象
	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)
    
    
 

猜你喜欢

转载自blog.csdn.net/yuanzhen1/article/details/88045912