Объектно-ориентированный пакет питона Case 2

пакет

  1. Упаковка  является одной из главных особенностей объектно-ориентированного программирования
  2. Объектно-ориентированное программирование на  первом этапе  - в  атрибуты  и  методы ,  упакованные  в абстрактный  класс  в
  3. Внешний мир ,  используя  класс  для создания  объекта , а затем  пусть методы объекта вызовов
  4. Детали методы объекта  являются  инкапсулированными  в  интерьере класса

Объект  атрибута  может быть  другой класс объекта создается

01. Солдаты нападение

спрос

  1. Солдаты  Сандо  имеет  АК47
  2. Солдаты  могут  стрелять
  3. Пистолет  способен  запускать  пулю
  4. Пушка  нагрузки  загрузка пули  -  увеличить количество пуль

1,1 GUN развития

shoot Методы требуют

  • 1>, чтобы определить, есть ли пули, ни пуля не может стрелять
  • 2> использование  print советы съемки, и выводит количество пуль
Gun Класс: 

    DEF метод __init __ (Self, модель): 

        # пистолет модель 
        self.model = модель 
        номер # пуля 
        self.bullet_count = 0 

    DEF add_bullet (Self, COUNT): 

        self.bullet_count = COUNT + 

    DEF стрелять (Self): 

        # Анализ Существуют ли пули , 
        если self.bullet_count <= 0: 
            Print ( "нет пуль ...") 

            возвращение 

        # пуля излучающих 
        . self.bullet_count - = 1 
        
        Print ( "% S стрельбы пули [% d] ..." % (self.model, self.bullet_count)) 

# создать объекты пистолет 
AK47 = пистолет ( "AK47") 
ak47.add_bullet (50) 
ak47.shoot ()

1.2 Разработка классов солдат

Предположения: Каждые новобранцы не имеют  никакого оружия

Атрибут определяются без какого-либо начального значения

При определении атрибутов, если  ничего не знает установки начального значения , он может быть установлен в None

  • None Ключевое слово  не представляет  ничего
  • Обозначает  нулевой объект , нет методов и свойств, является специальной константой
  • Вы можете быть  None отнесены к любой переменной

fire Методы требуют

  • 1> не определяется ли пистолет, пистолет не может не заряд
  • 2> выкрикивают лозунги
  • 3> пули загрузки
  • 4> Стрелялки
Класс Солдат: 

    DEF __init __ (Self, имя): 

        # Имя 
        self.name = имя 
        # пушки, ни пушки Без солдат начальное ключевое слово указывает , ничего 
        self.gun = None 

    DEF Огонь (Self): 

        # 1. определить , является ли солдат пистолет 
        IF self.gun IS нет: 
            печать ( "[% S] не пистолет ..." % self.name) 

            вернуться 

        # 2. выкрикивая лозунги 
        печати ( "Charge ... [% S]" % уверенности . имя) 

        # 3. пусть заряженное ружье пули 
        self.gun.add_bullet (50) 

        # 4. пусть пистолет выстрелил пуль 
        self.gun.shoot ()

резюме

  1. Создание  класса солдат , использовать  __init__ встроенный метод
  2. При определении атрибутов, если  ничего не знает установки начального значения , он может быть установлен в None
  3. В  пакете  внутренних методов, вы также можете сделать  свои собственные  объекты , созданные с помощью других классов свойств  вызовов были  метод упаковывают

Оператор 02. идентичности

Оператор идентификации используется для  сравнить  два объекта  адреса памяти  одинаковы -  будь то ссылка на тот же объект

  • В  Python Для  None сравнения, рекомендуется использовать  is решение
операторы описание примеров
является определяются два идентификаторов не ссылаться на один и тот же объект х у, 类似 идентификатор (х) == Идентификатор (у)
не является определяются не два идентификатора не относится к различным объектам х не у, 类似 идентификатор (а)! = идентификатор (б)

== разница между:

is Для определения  двух переменных относятся к тому же объект является ли
==  для определения  значения контрольных переменного  равен

>>> а = [1, 2, 3] 
>>> б = [1, 2, 3] 
>>> б является 
Ложные 
>>> б == 
Правда

  

 

рекомендация

отwww.cnblogs.com/yzg-14/p/12185272.html