• 11--Python入门--面向对象


    面向对象是Python的特点。面向对象主要通过类class的定义来实现。类class是用来描述具有相同属性和方法的对象的集合。类定义了该集合中的每个对象的共有属性和方法
    可以将类理解为一个模块,模块中包含很多个函数,每个函数用来实现某一个功能
    对象是根据类创建的实例,通过实例化对象就可以执行类中的各个函数

    面向对象不好理解。这里用一个小例子来说明面向对象的基本用法,关于面向对象在后面的系列中还会详述其更高层次的用法
    例如,我们想创建一个简单的游戏程序,涉及到游戏人物的创建,几个游戏环节的设计等等

    class charater:
        '''创建游戏人物'''
        def __init__(self, name, gender, age, ability):
            self.name = name
            self.gender = gender
            self.age = age
            self.ability = ability
            
        def fight_grass(self):
            self.ability = self.ability - 200
            print('%s参加了一次野外战斗,消耗战斗力200' %self.name)
            
        def self_trainng(self):
            self.ability = self.ability + 100
            print('%s参加了一次自我修炼,增长战斗力100' %self.name)
            
        def mass_fight(self):
            self.ability = self.ability - 500
            print('%s参加了一次多人PK,消耗战斗力500' %self.name)
            
        def show_info(self):
            print('%s,%s岁,%s,%s战斗力' %(self.name,self.age,self.gender,self.ability))
    View Code
    #定义好上面的类之后 我们就可以开始游戏了  我们先创建3个游戏人物  rogers stark 和 natasha
    rogers = charater('史蒂夫 罗杰斯','',18,1000)
    stark = charater('托尼 斯塔克','',20,1800)
    natasha = charater('娜塔莎 罗曼诺夫','',19,2500)
    # 先查看 三个游戏人物的 属性
    rogers.show_info()
    stark.show_info()
    natasha.show_info()
    View Code

    输出:

    史蒂夫 罗杰斯,18岁,男,1000战斗力
    托尼 斯塔克,20岁,男,1800战斗力
    娜塔莎 罗曼诺夫,19岁,女,2500战斗力

    # 创建人物之后  每个人物可以进行不同的游戏环节 例如他们三个人 进行不同的游戏环节
    rogers.mass_fight()  
    stark.self_trainng() 
    natasha.fight_grass()
    View Code
    输出:
    史蒂夫 罗杰斯参加了一次多人PK,消耗战斗力500 托尼 斯塔克参加了一次自我修炼,增长战斗力100 娜塔莎 罗曼诺夫参加了一次野外战斗,消耗战斗力200

    # 在经过了上面的环节之后  我们再来查看三个游戏人物的属性是否产生了变化
    rogers.show_info()
    stark.show_info()
    natasha.show_info()
    #可以发现 三个游戏人物在经历游戏环节之后  战斗力都发生了改变
    View Code

    输出:

    史蒂夫 罗杰斯,18岁,男,500战斗力
    托尼 斯塔克,20岁,男,1900战斗力
    娜塔莎 罗曼诺夫,19岁,女,2300战斗力
  • 相关阅读:
    38、面向对象设计模式之策略模式(Strategy)
    37、面向对象设计模式之代理模式(Proxy)
    36、面向对象设计模式之观察者模式(Observer)
    35、面向对象设计模式之抽象工厂(Abstract Factory)设计模式
    34、面向对象设计模式之工厂模式——简单工厂模式与工厂方法模式比较
    Chisel插件
    Git 常用命令
    oh_my_zsh
    一般xcode报错
    sqlite3 语法
  • 原文地址:https://www.cnblogs.com/lizhiyan/p/9713473.html
Copyright © 2020-2023  润新知