Python 学习笔记之继承和封装

# from hello import Dog,Eat
#
# dog=Dog(12,44,55) #new 一个对象 实例化
# print(dog.a,dog.b,dog.c)
#
# eat=Eat("eat11")
#
# print(eat)
#############封装#START############
class Card(object): #构造函数
    def __init__(self,num,pwd,ban):
        self.num=num
        self.pwd=pwd
        self.ban=ban  #私有属性 类似private 只能在类的内部访问
    def cun(self):
        print("存款")

    def geiBan(self,numm,pwdd):  #封装  安全验证
        if self.num==numm and self.pwd==pwdd:
            return self.__ban
        else:
            return "输入错误"


card=Card("1001","123456",100) #可以直接 修改 不安全 所以要封装起来 ___

#############封装END############





#############继承#START############


class Animal(object): #动物类
    def __init__(self,color,ass):
        self.color=color
        self.ass=ass


    def run(self):
        print("跑")

class Cat(Animal):  #继承  猫继承动物类。可获得父类所有属性和函数
    def eat(self):
        print("小猫在吃鱼")

class Dog(Animal):
    def __init__(self,name,age,sex,color,ass):
        super(Dog,self).__init__(color,ass)
        self.name=name
        self.age=age

    def eat(self):
        print("小狗在吃屎")
#在子类里使用super初始化父类构造函数的时候必须传入父类所有的值
#如果方法相同,子类将覆盖父类,优先调用父类方法,如果子类没有构造函数自动去找父类的构造函数。一直往上直到找到为止
#cat=Cat("黄色")

#############继承#END############


#############多态#START############


dog=Dog("落霞",18,"公",11,"1")

cat=Cat("黑色",11)
def feed(obj):
    obj.run() #多态  此处为去调用对象的run函数

feed(dog)



#############多态#END############

猜你喜欢

转载自blog.csdn.net/weixin_44371918/article/details/89847069