首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python 面向对象封装 - 肥仔类

Python 面向对象封装 - 肥仔类

作者头像
Devops海洋的渔夫
发布于 2019-05-31 16:24:41
发布于 2019-05-31 16:24:41
8230
举报
文章被收录于专栏:Devops专栏Devops专栏

仅用学习参考

面向对象封装案例

目标

  • 封装
  • 编写类

01. 封装

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

02. 肥仔爱喝可乐水、嚼槟榔

需求

  1. 肥仔白 体重 75.0 公斤
  2. 肥仔白 每天 嚼槟榔 会花掉10元RMB
  3. 肥仔白 每次 喝可乐 会花掉3.5元RMB
代码语言:javascript
复制
# -*- coding: utf-8 -*-

class DeadFatBoy:

    def __init__(self,name,weight):
        self.name = name
        self.weight = weight

    def eat(self):
        print("pay 10 yuan RMB")

    def drink(self):
        print("pay 3.5 yuan RMB")

    def hello(self):
        print("%s 的体重 %s 公斤" % (self.name,self.weight))


if __name__ == '__main__':
    libai = DeadFatBoy("李白","75")
    libai.eat()
    libai.drink()
    libai.hello()

03. 肥仔类 - 扩展 : 枪杀小肥仔

需求

  1. 肥仔类增加 __del__ 内置方法,当被del的时候,打印“我被干掉啦,好惨啊”
  2. 编写一个枪类,写一个fire方法,开枪干掉小肥仔

首先给肥仔类增加方法,代码如下:

代码语言:javascript
复制
# -*- coding: utf-8 -*-

class DeadFatBoy:

    def __init__(self,name,weight):
        self.name = name
        self.weight = weight

    def eat(self):
        print("pay 10 yuan RMB")

    def drink(self):
        print("pay 3.5 yuan RMB")

    def hello(self):
        print("%s 的体重 %s 公斤" % (self.name,self.weight))

    def __del__(self):
        print("%s 这个小肥仔挂掉啦,好惨啊" % self.name)

if __name__ == '__main__':
    libai = DeadFatBoy("李白","75")
    libai.eat()
    libai.drink()
    libai.hello()
    del libai 

执行如下:

代码语言:javascript
复制
G:\Python27\python.exe F:/pythonProject/CigarettesSystem/DeadFatBoy.py
pay 10 yuan RMB
pay 3.5 yuan RMB
李白 的体重 75 公斤
李白 这个小肥仔挂掉啦,好惨啊

写一个Gun类,来干掉这个小肥仔

代码语言:javascript
复制
class Gun:

    def fire(self,obj):
        print("fire the hole!!")
        del obj

if __name__ == '__main__':
    libai = DeadFatBoy("李白","75")
    libai.eat()
    libai.drink()
    libai.hello()

    gun = Gun()
    gun.fire(libai)

执行代码如下:

代码语言:javascript
复制
G:\Python27\python.exe F:/pythonProject/CigarettesSystem/DeadFatBoy.py
pay 10 yuan RMB
pay 3.5 yuan RMB
李白 的体重 75 公斤
fire the hole!!
李白 这个小肥仔挂掉啦,好惨啊
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.12.05 ,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 面向对象封装案例
    • 目标
      • 01. 封装
    • 02. 肥仔爱喝可乐水、嚼槟榔
    • 03. 肥仔类 - 扩展 : 枪杀小肥仔
      • 首先给肥仔类增加方法,代码如下:
      • 写一个Gun类,来干掉这个小肥仔
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档