zoukankan      html  css  js  c++  java
  • day_4_27 py

      1 '''
      2 2018-4-27 19:57:29
      3 其实这些都是讲的类和对象的
      4 
      5 self(在定义方法的时候默认的参数)就相当于java里面的this关键字,  this.name=name
      6 
      7 class 类名: #类命名需要用大驼峰
      8     属性
      9     方法  (函数定义在类的里面叫方法,定义方法需要self )
     10     def xxx(self):
     11         pass
     12 '''
     13 
     14 # demo
     15 # class Cat:
     16 #     # 初始化对象 (完成初始化功能)
     17 #     def __init__(self,new_name,new_age):
     18 #         self.name = new_name
     19 #         self.age = new_age
     20 #         print("================")
     21 #     #     用于获取对象的信息
     22 #     def __str__(self):
     23 #         return "$s的年龄是:%d"%(self.name,self.age)
     24 #     # 方法
     25 #     def eat(self):
     26 #         print("猫在吃鱼.....")
     27 #     def drink(self):
     28 #         print("猫正在喝可乐;//")
     29 #     def introduce(self):
     30 #         print("%s的年龄是:%d"%(self.name,self.age))
     31 #
     32 # # 创建一个对象
     33 # tom = Cat("汤姆",40)
     34 # lanmao = Cat("蓝猫",10)
     35 # # 调用tom指向的对象中的 方法
     36 # print(tom)
     37 # print(lanmao)
     38 
     39 #定义一个Home类  把一个对象添加到另外一个对象的属性里面去
     40 class Home:
     41 
     42     def __init__(self, area):
     43         self.area = area #房间剩余的可用面积
     44         #self.light = 'on' #灯默认是亮的
     45         self.containsItem = []
     46 
     47     def __str__(self):
     48         msg = "当前房间可用面积为:" + str(self.area)
     49         if len(self.containsItem) > 0:
     50             msg = msg + " 容纳的物品有: "
     51             for temp in self.containsItem:
     52                 msg = msg + temp.getName() + ", "
     53             msg = msg.strip(", ")
     54         return msg
     55 
     56     #容纳物品
     57     def accommodateItem(self,item):
     58         #如果可用面积大于物品的占用面积
     59         needArea = item.getUsedArea()
     60         if self.area > needArea:
     61             self.containsItem.append(item)
     62             self.area -= needArea
     63             print("ok:已经存放到房间中")
     64         else:
     65             print("err:房间可用面积为:%d,但是当前要存放的物品需要的面积为%d"%(self.area, needArea))
     66 
     67 
     68 # 定义bed类
     69 class Bed:
     70 
     71     def __init__(self,area,name = ''):
     72         self.name = name
     73         self.area = area
     74 
     75     def __str__(self):
     76         msg = '床的面积为:' + str(self.area)
     77         return msg
     78 
     79     #获取床的占用面积
     80     def getUsedArea(self):
     81         return self.area
     82 
     83     def getName(self):
     84         return self.name
     85 
     86 
     87 #创建一个新家对象
     88 newHome = Home(100)#100平米
     89 print(newHome)
     90 
     91 #创建一个床对象
     92 newBed = Bed(20)
     93 print(newBed)
     94 
     95 #把床安放到家里
     96 newHome.accommodateItem(newBed)
     97 print(newHome)
     98 
     99 #创建一个床对象
    100 newBed2 = Bed(30,'席梦思')
    101 print(newBed2)
    102 
    103 #把床安放到家里
    104 newHome.accommodateItem(newBed2)
    105 print(newHome)
    106 
    107 
    108 
    109 print("|=========================")
    110 
    111 # 烤地瓜
    112 class SweetPotato :
    113     def __init__(self):
    114         self.cookedString ="生的"
    115         self.cookedLevel = 0
    116         self.codiments = [] #创建列表可以存储东西
    117 
    118     def __str__(self):
    119         return "地瓜 状态:%s(%d,添加的佐料有:%s)"%(self.cookedString,self.cookedLevel,str(self.codiments))
    120     def cook(self,cooked_time):
    121         self.cookedLevel += cooked_time
    122         if  self.cookedLevel >=0 and self.cookedLevel<3:
    123             self.cookedString ="生的"
    124         elif self.cookedLevel >=3 and self.cookedLevel<5:
    125             self.cookedString ="半生不熟的"
    126         elif self.cookedLevel >=5 and self.cookedLevel<8:
    127             self.cookedString ="熟了"
    128         elif self.cookedLevel>8:
    129             self.cookedString = "烤糊了"
    130 
    131     def ddCondiments(self,item):
    132         # 添加佐料
    133         self.codiments.append(item)
    134 #创建了一个地瓜对象
    135 di_gua = SweetPotato()
    136 print(di_gua)
    137 # 开始烤地瓜   找到当前对象属性,使其改变属性
    138 di_gua.cook(1)
    139 print(di_gua)
    140 di_gua.cook(1)
    141 print(di_gua)
    142 di_gua.cook(1)
    143 print(di_gua)
    144 di_gua.ddCondiments("大蒜")
    145 di_gua.cook(1)
    146 print(di_gua)
    147 di_gua.cook(1)
    148 print(di_gua)

  • 相关阅读:
    Nim or not Nim? hdu3032 SG值打表找规律
    Maximum 贪心
    The Super Powers
    LCM Cardinality 暴力
    Longge's problem poj2480 欧拉函数,gcd
    GCD hdu2588
    Perfect Pth Powers poj1730
    6656 Watching the Kangaroo
    yield 小用
    wpf DropDownButton 源码
  • 原文地址:https://www.cnblogs.com/zhen1996/p/8964293.html
Copyright © 2011-2022 走看看