初始面向對象(三個例子)

一 小明,男,18歲,上山去砍柴spa

# 小明,男,10歲,上山去砍柴
# 小明,男,10歲,開車去東北
# 小明,男,10歲,最愛大保健
# 老張,男,90歲,上山去砍柴
# 老張,男,90歲,開車去東北
# 老張,男,90歲,最愛大保健
# 老王,男,70歲,上山去砍柴
# ....

class Person:
    def __init__(self,name,male,age):
        self.name=name
        self.male=male
        self.age=age
    def drive(self):
        print('%s,%s,%s歲,開車去東北'%(self.name,self.male,self.age))
    def climb(self):
        print('%s,%s,%s歲,上山去砍柴'%(self.name,self.male,self.age))
    def hobby(self):
        print('%s,%s,%s歲,最愛大保健'%(self.name,self.male,self.age))

ming=Person('ming','male',10)
zhang=Person('zhang','male',90)
wang=Person('wang','male',70)
ming.drive()
zhang.drive()
wang.drive()
ming.hobby()
zhang.hobby()
wang.hobby()
ming.climb()
zhang.climb()
wang.climb()

二:人狗大戰對象

# class Person:  class小寫+類名大寫。括號可寫可不寫
#     def __init__(self,name,age,sex,hp,aggr):調用雙下init方法,初始化對象 self就是對象
#         self.name=name    對象屬性
#         self.age=age
#         self.sex=sex
#         self.hp=hp
#         self.aggr=aggr
#     def attack(self,dog):定義方法
#         print('%s攻擊%s'%(self.name,dog.name))
#         dog.hp-=self.aggr   誰攻擊另外一方掉血


# class Dog: class小寫+類名大寫。括號可寫可不寫
#     def __init__(self,name,age,kind,hp,aggr):加載雙下init方法。初始化對象,self就是對象
#         self.name=name   屬性
#         self.age=age
#         self.kind=kind
#         self.hp=hp
#         self.aggr=aggr
#     def bite(self,person):定義屬性
#         print('%s攻擊%s'%(self.name,person.name))
#         person.hp-=self.aggr  誰攻擊另外一方掉血
#
# alex=Person('alxe',21,'male',100,90) 實例化 先建立對象 再初始化
# hei=Dog('hei',2,'teddy',900,10) 實例化 先建立對象  初始化
# alex.attack(hei)
# hei.bite(alex)
# print(alex.hp)
# print(hei.hp)

三:用類和對象計算正方形,長方形,圓形周長和麪積it

# from math import pi
# 圓形
# class Circle:  定義一個類名  class小寫,類名大寫,()可寫可不寫
#     def __init__(self,r): 初始化 調用雙下init方法 self就是對象
#         self.r=r
#     def area(self): 定義方法
#         return pi*(self.r**2)
#     def por(self):定義方法
#         return 2*pi*(self.r)
# c1=Circle(5)    實例化  先創造對象  再初始化
# print(c1.r)
# print(c1.area())  對象.方法名()
# print(c1.por())

# 正方形

# class Sqare:
#     def __init__(self,r):
#         self.r=r
#     def area(self):
#         return self.r*self.r
#
#     def por(self):
#      return self.r*4
# s1=Sqare(4)
# print(s1.area())
# print(s1.por())

# 長方形
# class Chang:
#     def __init__(self,l,w):
#         self.l=l
#         self.w=w
#     def area(self):
#         return self.l*self.w
#     def por(self):
#         return (self.l+self.w)*2
# x=Chang(5,6)
# print(x.area())
# print(x.por())
相關文章
相關標籤/搜索