python入门级面向对象应用

一.简单查看和修改属性

class Animal:
    kind = "猫"
    age = 3
    sex = "女"

    def set_kind(self, kind):
        self.kind = kind

    def set_age(self, age):
        self.age = age

    def set_sex(self, sex):
        self.sex = sex

    def get_kind(self):
        print(self.kind)

    def get_age(self):
        print(self.age)

    def get_sex(self):
        print(self.sex)

    def get_all(self):
        print("品种名:%s,年龄:%d,性别:%s" % (self.kind, self.age, self.sex))


animal = Animal()  # 实例化
print("修改前")
animal.get_kind()
animal.get_age()
animal.get_sex()
animal.get_all()

animal.set_kind("狗")
animal.set_age(4)
animal.set_sex("男")

print("修改后")
animal.get_kind()
animal.get_age()
animal.get_sex()
animal.get_all()

修改前

3

品种名:猫,年龄:3,性别:女
修改后

4

品种名:狗,年龄:4,性别:男

二.通过’_init_'方法传值

_init_:方法在实例化对象的时候自动运行
好处:这样的代码更加复用性很高

class Animal:
    def __init__(self, kind, age, sex):
        self.kind = kind
        self.age = age
        self.sex = sex

    def get_all(self):
        print("品种名:%s,年龄:%d,性别:%s" % (self.kind, self.age, self.sex))


animal = Animal("猫", 3, "女")  # 实例化
animal.get_all()
在这里插入代码片品种名:猫,年龄:3,性别:女

三.继承

上面的代码范围太大了,我们存数据肯定是猫的数据存在猫的类中,狗的数据存在狗的类中,不同物种的数据存在相应物种的类中,这样方便了代码的层次,和区分代码
定义:父亲有的我有,我有的父亲不一定有
这些很难理解,下面的代码就好理解了

class Animal:
    def __init__(self, kind, age, sex):
        self.kind = kind
        self.age = age
        self.sex = sex

    def get_all(self):
        print("名字:%s,年龄:%d,性别:%s" % (self.kind, self.age, self.sex))


class Dog(Animal):Dog是子类,继承Animal父类
    pass


class Cat(Animal):Cat是子类,继承Animal父类
    pass


cat = Cat("开心", 3, "女")   # 调用父类的方法
cat.get_all()                # 调用父类的方法
dog = Dog("凯奇", 5, "男")    # 调用父类的方法
dog.get_all()                # 调用父类的方法
名字:开心,年龄:3,性别:女
名字:凯奇,年龄:5,性别:男


————————————————
版权声明:本文为CSDN博主「Eli___」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/martin_3/article/details/121767806

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值