Python面向对象封装操作案例详解

  

本文实例讲述了Python面向对象封装操作。分享给大家供大家参考,具体如下:

  

目标

  

封装
  小明爱跑步
  存放家具

  

01。封装

  

封装是面向对象编程的一大特点
  面向对象编程的第一步,将属性和方法封装到一个抽象的类中
  外界使用类创建对象,然后让对象调用方法
  对象方法的细节都被封装在类的内部

  

02。小明爱跑步

  

需求   

小明体公重75.0斤
  小明每次跑步会减肥公0.5斤
  小明每次吃东西体重增加1公斤
   Python面向对象封装操作案例详解“> <br/>
  提示:在对象的方法内部,是可以直接访问对象的属性的! </p>
  <p>代码实现:</p>
  
  <pre类=   类人:   ”“”人类”“”      def __init__(自我、名称、重量):      self.name=名字   自我。重量=重量      def __str__(自我):      返回“我的名字叫% s体重%。2 f公斤“% (self.name self.weight)      def运行(自我):   ”““跑步”“”      打印(“% s爱跑步,跑步锻炼身体”% self.name)   自我。重量-=0.5      def吃(自我):   ”“吃东西”“”      打印(“% s是吃货,吃完这顿再减肥”% self.name)   自我。重量+=1         小明=人(“小明”,75年)      xiaoming.run ()   xiaoming.eat ()   xiaoming.eat ()      打印(小明)      之前      

2.1小明爱跑步扩展,小美也爱跑步

  

需求   

小明和小美都爱跑步
  小明体公重75.0斤
  小美体公重45.0斤
  每次跑步都会减少0.5公斤
  每次吃东西都会增加1公斤
   Python面向对象封装操作案例详解“> <br/>
  提示</p>
  <p>在对象的方法内部,是可以直接访问对象的属性的<br/>
  同一个类创建的多个对象之间,属性互不干扰! <br/>
  <img src=

  

03。摆放家具

  

需求   

房子(房子)有户型,总面积和家具名称列表
  新房子没有任何的家具
  家具(HouseItem)有名字和占地面积,其中
  席梦思(床)占地4平米
  衣柜(箱)占2地平米
  餐桌(表)占1.5地平米
  将以上三件家具添加到房子中
  打印房子时,要求输出:户型,总面积,剩余面积,家具名称列表
   Python面向对象封装操作案例详解“> <br/>
  剩余面积</p>
  <p>在创建房子对象时,定义一个剩余面积的属性,初始值和总面积相等<br/>
  当调用add_item方法,向房间添加家具时,让剩余面积-=家具面积<br/>
  思考:应该先开发哪一个类? </p>
  <p>答案——家具类</p>
  <p>家具简单<br/>
  房子要使用到家具,被使用的类,通常应该先开发</p>
  <h3> 3.1创建家具</h3>
  
  <pre类=   类HouseItem:      def __init__(自我、名称、区域):   ”“”      :参数名称:家具名称   :param面积:占地面积   ”“”   self.name=名字   自我。面积=def __str__(自我):   返回“(% s)占地面积%。2 f“% (self.name self.area)         # 1。创建家具   床上=HouseItem(“席梦思”,4)   胸部=HouseItem(“衣柜”,2)   表=HouseItem(“餐桌”,1.5)      打印(床)   打印(胸部)   打印(表)      之前      

小结   

创建了一个家具类,使用到<强> init 和<强> str 两个内置方法
  使用家具类创建了三个家具对象,并且输出家具信息

  

3.2创建房间

        类的房子:      def __init__(自我、house_type区域):   ”“”      :param house_type:户型   :param面积:总面积   ”“”   自我。house_type=house_type   自我。面积=#剩余面积默认和总面积一致   self.free_area=区域   #默认没有任何的家具   自我。item_list=[]      def __str__(自我):      # Python能够自动的将一对括号内部的代码连接在一起   返回(“户型:% s \ n总面积:% .2f[剩余:% .2f] \ n家具:% s”   %(自我。house_type self.area,   self.free_area, self.item_list))      def add_item(自我,项):      打印(“要添加% s“%项)      …      # 2。创建房子对象   my_home=房子(“两室一厅”,60)      my_home.add_item(床)   my_home.add_item(胸部)   my_home.add_item(表)      打印(my_home)   

Python面向对象封装操作案例详解