当前位置 : 主页 > 手机开发 > 其它 >

面向对象详解以及封装案列解答

来源:互联网 收集:自由互联 发布时间:2021-06-19
class Gun: --- 先定义枪类型 def __init__(self,mode,count): --- 》属性为类型和子弹数量 self.mode = mode self.count = 0 --- 》初始子弹数量为0 def shoot(self,number): ----》枪的技能1发射,子弹剩余量=总弹数

class Gun:                --->先定义枪类型
    def __init__(self,mode,count):    ---》属性为类型和子弹数量
        self.mode = mode
        self.count = 0              ---》初始子弹数量为0
    def shoot(self,number):         ----》枪的技能1发射,子弹剩余量=总弹数-发射的数量(不定)
        self.count -= number
    def add_count(self,number):     ----》枪的技能2装子弹,子弹剩余量= 装入与发射的差
        self.count += number
class Soldier:             ----》定义士兵类型
    def __init__(self,name):
        self.name = name         ---》属性1姓名
        gun = None               ----》属性2 枪
    def fire(self,count):
        count = n.count          ---》定义士兵的枪的子弹数量为上面枪剩余子弹数
        if count > 0:               ----》大于0允许开炮,否则不允许
            print(‘你持有ak47,子弹数量是%s,可以开炮 %count)
        else:
            print (没有子弹了,不可以开炮)

n = Gun(ak47,0)            ----》定义枪类型的对象为n,n的名字是ak47
n.add_count(int(input(装入子弹数:)))       ----》自定义装入子弹数
n.shoot(int(input(射出子弹数:)))            ----》自定义射出子弹数
s = Soldier(许三多)                        ---》定义士兵类型为许三多
print(s.fire(n.count))          ----》根据士兵手里的ak是否有子弹来输出是否可以开炮

 面向对象介绍:

一、面向对象和面向过程
    面向过程:核心过程二字,过程即解决问题的步骤,就是先干什么后干什么
    基于该思想写程序就好比在这是一条流水线,是一种机械式的思维方式
    优点:复杂的过程流程化
    缺点:扩展性差

    面向对象:核心是对象二字,对象指特征与技能的结合体
    基于该思想编写程序就好比在创造一个世界,世界是由一个个对象组成,是一种‘上帝式’的思维方式
    优点:可扩展性强
    缺点:变成复杂度高,极容易出现过度设计的问题


2、类
    对象是特征与技能的结合体,类就是一系列对象相似的特征与技能的结合体
    在现实生活中:一定是先有一个个具体的对象,后总结出类
    在程序中:一定是先定义类,后产生对象
上一篇:简单投票
下一篇:模板的导入和继承
网友评论