|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
今儿继续是class类 P62-64
- ###############################################P62 类与对象
- class C:
- def __init__(self,x,y):
- self.x=x
- self.y=y
- def add(self):
- return self.x + self.y
- def mul(self):
- return self.x * self.y
- c=C(2,3)
- print(c.add())
- print(c.mul())
- print(c.__dict__)
- class D(C):
- def __init__(self,x,y,z):
- C.__init__(self,x,y)
- self.z=z
- def add(self):
- return C.add(self)+self.z
- def mul(self):
- return C.mul(self)*self.z
- d=D(2,3,4)
- print(d.add())
- print(d.mul())
- class A:
- def __init__(self):
- print('我是A')
- class B1(A):
- def __init__(self):
- A.__init__(self)
- print('我是B1')
- class B2(A):
- def __init__(self):
- A.__init__(self)
- print('我是B2')
- class C(B1,B2):
- def __init__(self):
- B1.__init__(self)
- B2.__init__(self)
- print('我是C')
- c=C()
- print(c)
- class B1(A):
- def __init__(self):
- super().__init__()
- print('我是B1')
- class B2(A):
- def __init__(self):
- super().__init__()
- print('我是B2')
- class C(B1,B2):
- def __init__(self):
- super().__init__()
- print('我是C')
- c=C()
- print(c)
- print(C.mro())
- ###############################################P63 类与对象
- class Animal:
- def __init__(self,name,age):
- self.name =name
- self.age =age
- def say(self):
- print(f'我叫{self.name},今年{self.age}岁。')
- class FlyMixin:
- def fly(self):
- print('起飞')
- class Pig(FlyMixin,Animal):
- def special(self):
- print('我们的技能是拱大白菜')
- p=Pig('大肠',5)
- p.say()
- p.special()
- p.fly()
- ################################
- class Displayer:
- def display(self,message):
- print(message)
- class LoggerMixin:
- def log(self,message,filename='logfile.txt'):
- with open(filename,'a') as f:
- f.write(message)
- def display(self,message):
- super().display(message)
- self.log(message)
- class MySubClass(LoggerMixin,Displayer):
- def log(self,message):
- super().log(message)
- subclass = MySubClass()
- subclass.display('This is a test')
- ###########################################P64 对象与类
- class Shape:
- def __init__(self,name):
- self.name=name
- def area(self):
- pass
- class Square(Shape):
- def __init__(self,length):
- super().__init__('正方形')
- self.length=length
- def area(self):
- return self.length * self.length
- class Circle(Shape):
- def __init__(self,radius):
- super().__init__('圆形')
- self.radius=radius
- def area(self):
- return self.radius * self.radius * 3.14
- class Triangle(Shape):
- def __init__(self,base,high):
- super().__init__('三角形')
- self.base=base
- self.high=high
- def area(self):
- return self.base * self.high / 2
- s=Square(5)
- print(s.name,s.area())
- c=Circle(6)
- print(c.name,c.area())
- t=Triangle(3,4)
- print(t.name,t.area())
- class Cat:
- def __init__(self,name,age):
- self.name=name
- self.age=age
- def intro(self):
- print(f'我是一只猫咪,我叫{self.name},我今年{self.age}岁')
- def say(self):
- print('mua')
- class Dog:
- def __init__(self,name,age):
- self.name=name
- self.age=age
- def intro(self):
- print(f'我是一只小狗,我叫{self.name},我今年{self.age}岁')
- def say(self):
- print('汪')
- class Pig:
- def __init__(self,name,age):
- self.name=name
- self.age=age
- def intro(self):
- print(f'我是一只小猪,我叫{self.name},我今年{self.age}岁')
- def say(self):
- print('哦')
- c=Cat('web',4)
- d=Dog('布布',7)
- p=Pig('大肠',5)
- def animal(x):
- x.intro()
- x.say()
- animal(c)
- animal(d)
- animal(p)
- class Bicycle:
- def intro(self):
- print('大海')
- def say(self):
- print('自行车')
- b=Bicycle()
- animal(b)
复制代码 |
|