python入门—面向对象案列

#面向对象理解
#定义一个cat类
#类包含两个基本的要素属性和方法,属性可以理解为变量,方法可以理解为函数

class cat:
    def set_name(self,name):
        self.name=name   #self.name中的name代表类中的属性,第二个name为形参

    def eat(self):
        print("%s我吃鱼了"%self.name)

    def sleep(self):
        print("我困了")

a=cat()  #实例化
a.set_name("tom")
a.eat()



#类方法的设计

class dog:
    def __init__(self,name='wang',age=10):
        self.name=name
        self.age=age

    def set_name(self,name):
        self.name = name

    def get(self):
        return self.name

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

    def get_age(self):
        return self.age
c=dog()
print(c.get())

# str方法的应用
# demo1为未使用str
# demo2为使用str
class demo1:
    def __init__(self,name="张三"):
        self.name=name


    def get_name(self):
        return self.name


class demo2:
    def __init__(self, name="张三"):
        self.name = name

    def __str__(self):
        return self.name

a=demo1()
print(a)   #打印结果为对象内存地址
b=demo2()
print(b)   #打印结果为张三

# 使用类做一个计算器

class calc:
    def __init__(self,oper = '+'):
        self.oper = oper

    def calc(self,a,b):

        if self.oper =='+':
            return a+b
        elif self.oper == '-':
            return a - b
        elif self.oper == '*':
            return a * b
        elif self.oper == '/':
            if b==0:
                return None
            else:
             return a / b
        else:
            return None

demo = calc("/")
print(demo.calc(1,0))

#继承案列
# 多级继承


class animal:
    def eat(self):
        print("吃")

    def sleep(self):
        print("睡")

class dog(animal):
    def kanjia(self):
        print("看家")

class fish(animal):
    def swimming(self):
        print("游泳")

class tugou(dog):
    def maimeng(self):
        print("卖萌")



a=tugou()
a.kanjia()


#类属性和类方法

class dog:
    name='小狗'

    @classmethod
    def set_name(cls,name):
        cls.name=name

print(dog.name)
dog.set_name(12)
print(dog.name)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值