1.简易图形计算
class shape:
def area(self):
return 0
class circle(shape):
def __init__(self,r):
self.r=r
def area(self):
return 3.14*self.r**2
class Rectangle(shape):
def __init__(self,width,height):
self.width=width
self.height=height
def area(self):
return self.width*self.height
if __name__=="__main__":
c=circle(5)
r=Rectangle(4,5)
print(c.area())
print(r.area())
2.简易电商商品类
class product:
def __init__(self,name,price):
self.name=name
self.price=price
def get_price(self):
return self.price
class DiscountProduct(product):
def __init__(self,name,price,discount):
super().__init__(name,price)
self.discount=discount
def get_price(self):#重写方法
return self.price*(1-self.discount/100)
p=product('book',30)
print(p.get_price())#30
d=DiscountProduct('pen',10,20)
print(d.get_price())#8.0
3.重写,重定义
重写:
class Dog(object):
counter=0
def __init__(self,name):
self.name=name
Dog.counter+=1
def greet(self):
print(f'hi I‘m {self.name},my number is {self.counter}')
class BarkingDog(Dog):
def greet(self):
print('woof')#重写
if __name__=='__main__':
dog=Dog('co')
dog.greet()
B=BarkingDog('N')
B.greet()
重定义:
class Dog:
counter=0
def __init__(self,name):
self.name=name
Dog.counter+=1
def greet(self):
print(f'hi I‘m {self.name},my number is {self.counter}')
class BarkingDog(Dog):
def __init__(self,name,color):
super().__init__(name)
self.color=color
def greet(self):
print(f'woof,My color is {self.color}')
if __name__=='__main__':
d=Dog('co')
d.greet()
B=BarkingDog('N','red')
B.greet()