• 初始面向对象


    #  ===========================                 面向对象      =============
    # 引子
    # 游戏公司 : 人狗大战
    # 两个角色 类: 人 狗
    # 人 : 名字 性别 攻击力 生命值hp 描述类
    # 狗 : 名字 品种 攻击力 生命值
    # def person(name,sex,aggr,hp): # 人模子
    # person_dic = {
    # 'name': name,
    # 'sex' : sex,
    # 'aggr': aggr,
    # 'hp' : hp
    # }
    # def attack(dog):
    # dog['hp'] -= person_dic['aggr']
    # print('%s打了%s,掉了%s血' % (person_dic['name'], dog['name'], person_dic['aggr']))
    # person_dic['attack'] = attack
    # return person_dic
    # def dog(name,kind,aggr,hp): # 狗模子
    # dog_dic = {
    # 'name' : name,
    # 'kind' : kind,
    # 'aggr' : aggr,
    # 'hp' : hp
    # }
    # def bite(person): # 安全
    # person['hp'] -= dog_dic['aggr']
    # print('%s咬了%s,掉了%s血' % (dog_dic['name'],
    # person['name'],
    # dog_dic['aggr']))
    # dog_dic['bite'] = bite
    # return dog_dic
    # hei = dog('小黑','teddy',260,10000)
    # alex = person('alex','female',1,250)
    # egon = person('egon','male',2,500)
    # # dog 咬人 人掉血
    # hei['bite'](alex)
    # egon['attack'](hei)

    # 面向对象的思想
    # 人的字典 狗的字典 attack bite 又来了一个人 再创建一个人的字典 面向过程编程
    # 类 : 一类事务 人类 狗类
    # 对象 : 一个具体的事务 alex egon hei
    # 面向对象编程 :


    # ========= 面向对象
    # class Person: # 类名 Person
    # role = '人' # 类的静态变量 是所有的对象共享的一个属性
    # def attack(self):pass
    # print(Person.role) # 类提供给我们的调用方式
    # print(Person.attack)
    # Person.role = '中国人'
    # print(Person.role)
    # Person.attack() # 报错
    # print(Person.__dict__) # 存储方式
    # print(Person.__dict__['role'])
    # print(Person.__dict__['attack'])
    # Person.__dict__['role'] = '人'

    # 类只有两个作用:
    # 1.使用类中的名字
    # 查看类中的名字:
    # 类名.变量名 # 可以修改变量的值
    # 类名.__dict__['变量名'] # 不能修改
    # 2.创造对象 实例化对象
    # 对象就是实例,一个实际的例子
    # 对象 = 类名()
    # class Person: # 类名 Person
    # role = '人' # 类的静态变量 是所有的对象共享的一个属性
    # def __init__(self,name,sex,aggr,hp): #{}
    # self.name = name
    # self.sex = sex
    # self.aggr = aggr
    # self.hp = hp
    # def attack(self):
    # print(self.name)
    # print(self.sex)
    #
    # obj1 = Person('alex','female',250,1)
    # obj2 = Person('egon','male',500,2)
    # print(obj1.name,obj1.sex,obj1.aggr,obj1.hp)
    # print(obj2.name,obj2.sex,obj2.aggr,obj2.hp)
    # print(obj1.__dict__)
    # print(obj2.__dict__)
    # print(obj1)
    # Person.attack(obj1) # 调用一个类中的方法了
    # obj1.attack()
    # 对象的具体:
    # 内存地址的不一致
    # 不同的对象 属性的值应该不同

    # 类名(参数)
    # 创造一个空对象 : self
    # 调用__init__方法 : 初始化方法
    # 把参数传给__init__方法
    # 完成init方法中的代码
    # 自动将self返回给实例化的地方

    # self就是对象

    # 调用类中的方法 :
    # 类名.方法名(对象)
    # 对象名.方法名()


    # class Person: # 类名 Person
    # role = '人' # 类的静态变量 是所有的对象共享的一个属性
    # def attack(self):pass
    # print(Person.role) # 类提供给我们的调用方式
    # print(Person.attack)
    # Person.role = '中国人'
    # print(Person.role)
    # Person.attack() # 报错
    # print(Person.__dict__) # 存储方式
    # print(Person.__dict__['role'])
    # print(Person.__dict__['attack'])
    # Person.__dict__['role'] = '人'

    # 类只有两个作用:
    # 1.使用类中的名字
    # 查看类中的名字:
    # 类名.变量名 # 可以修改变量的值
    # 类名.__dict__['变量名'] # 不能修改
    # 2.创造对象 实例化对象
    # 对象就是实例,一个实际的例子
    # 对象 = 类名()
    # class Person: # 类名 Person
    # role = '人' # 类的静态变量 是所有的对象共享的一个属性
    # def __init__(self,name,sex,aggr,hp): #{}
    # self.name = name
    # self.sex = sex
    # self.aggr = aggr
    # self.hp = hp
    # def attack(self):
    # print(self.name)
    # print(self.sex)
    #
    # obj1 = Person('alex','female',250,1)
    # obj2 = Person('egon','male',500,2)
    # print(obj1.name,obj1.sex,obj1.aggr,obj1.hp)
    # print(obj2.name,obj2.sex,obj2.aggr,obj2.hp)
    # print(obj1.__dict__)
    # print(obj2.__dict__)
    # print(obj1)
    # Person.attack(obj1) # 调用一个类中的方法了
    # obj1.attack()
    # 对象的具体:
    # 内存地址的不一致
    # 不同的对象 属性的值应该不同

    # 类名(参数)
    # 创造一个空对象 : self
    # 调用__init__方法 : 初始化方法
    # 把参数传给__init__方法
    # 完成init方法中的代码
    # 自动将self返回给实例化的地方

    # self就是对象

    # 调用类中的方法 :
    # 类名.方法名(对象)
    # 对象名.方法名()
  • 相关阅读:
    自动化测试最新面试题和答案
    没有接口设计文档怎么做测试?
    测试岗/测试开发岗面经合集
    安卓测试常用的 ADB 命令
    面试问题集合
    springboot测试邮件发送
    swagger
    shiro 登录拦截和用户认证、资源授权
    SpringSecurity(安全框架)
    SpringBoot整合Mybatis框架
  • 原文地址:https://www.cnblogs.com/xuerh/p/8515622.html
Copyright © 2020-2023  润新知