初始面向对象(三个例子)

原创
2018/03/05 19:09
阅读数 397

一 小明,男,18岁,上山去砍柴

# 小明,男,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)

三:用类和对象计算正方形,长方形,圆形周长和面积

# 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())

 

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部