首页 > 其他 > 详细

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

时间:2019-04-27 16:25:27      阅读:149      评论:0      收藏:0      [点我收藏+]

技术分享图片

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、类
    对象是特征与技能的结合体,类就是一系列对象相似的特征与技能的结合体
    在现实生活中:一定是先有一个个具体的对象,后总结出类
    在程序中:一定是先定义类,后产生对象

 

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

原文:https://www.cnblogs.com/zzzynx/p/10779036.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!