zoukankan      html  css  js  c++  java
  • day23 模块和包的复习 初识面向对象

    补充:

    今日内容:

    1、认识面向对象

    2、了解面向对象编程

    3、基础的 类对象的语法

     人狗大战的例子:

    def Person(life_value,aggr,name,job):
        def attack(dog):
            print("%s攻击了%s"%(person["name"],dog["name"]))
            dog["life_value"]=dog["life_value"]-person["aggr"]
        person={
            "life_value":life_value,
            "aggr":aggr,
            "name":name,
            "job":job,
            "attack":attack
        }
        return person
    boss_gold=Person(1000,2,"jinlaoban","boss")
    alex=Person(250,250,"alex","big_boss")
    def Dog(name,life_value,aggr,kind):
        def bite(person):
            print("%s咬了%s"%(dog["name"],person["name"]))
            person["life_value"]-=dog['aggr']
        dog={
            "name":name,
            "life_value":life_value,
            "aggr":aggr,
            "kind":kind,
            "bite":bite
            }
        return dog
    alph=Dog("alphgou",10000,999,"ai")
    flower=Dog("xiaohua",150,300,"2ha")
    alph["bite"](boss_gold)
    alex["attack"](flower)
    人狗大战的例子

    1、这就四面向对象的编程

      面向对象是一种思想

      对象就是具体的拥有准确属性值的一些变量

      类:一类具有相同属性和方法的食物

        字典——类

    2、什么是类

    3、第一个作用,属性的引用以及属性引用的增删改查

    class Person:
        country="中国"
        def walk(self):
            print("walk")
    print(Person.country)   #静态属性的查看
    print(Person.walk)
    Person.role=""     #添加一个新的静态属性
    print(Person.role)
    Person.country="印度"  #修改一个静态属性
    print(Person.country)
    del Person.role #删除一个静态属性
    
    print(Person.__dict__)
    print(Person.__dict__["country"])
    print(Person.country)
    属性引用的增删改查

    4、实例化对象

      类能完成第二个功能:实例化对象

      实例化:从一个类中创造一个具体的对象的过程

    p=Person()
    print(p)   #Person的对象
    

    5、类的两个作用

    class Person:     #类名有两个作用
        country="中国" #静态属性、数据属性
        def __init__(self,life_value,aggr,name,job):#初始化方法
            self.lv=life_value
            self.name=name
            self.aggr=aggr
            self.job=job
        def walk(self): #动态属性、函数属性、方法
            print("walk")
    # p=Person() #如何让对象拥有具体的属性
    p=Person(1000,2,"金老板","boss")  #让对象有具体的属性
    print(p.lv)   #Person 的对象
    print(p.name)   #Person 的对象
    print(p.job) #Person 的对象
    print(p.aggr) #Person 的对象
    #构造方法:造对象
    #初始化:给这个赤裸裸的对象添加一些属相__init__
    #返回了一个初始化的对象
    类与属性

    6、对象的调用

     7、类的增删改查

    class Person:     #类名有两个作用
        country="中国" #静态属性、数据属性
        def __init__(self,life_value,aggr,name,job):#初始化方法
            self.lv=life_value
            self.name=name
            self.aggr=aggr
            self.job=job
        def walk(self): #动态属性、函数属性、方法
            print("%s is walking"%self.name)
    # p=Person() #如何让对象拥有具体的属性
    p=Person(1000,2,"金老板","boss")  #让对象有具体的属性
    print(p.__dict__)        #查看
    print(p.__dict__["lv"])  #1000
    p.__dict__["lv"]=998        #对象名.__dict__中的属性值可以被修改
    print(p.__dict__["lv"],p.lv)
    p.__dict__["sex"]="lady_boy"   #对象名.__dict__中的属性值可以增加
    print(p.__dict__["sex"],p.sex)
    p.__dict__.pop("sex")     #对象名.__dict__可以被删除
    print(p.__dict__)
    类的增删改查
    class Person:     #类名有两个作用
        country="中国" #静态属性、数据属性
        def __init__(self,life_value,aggr,name,job):#初始化方法
            self.lv=life_value
            self.name=name
            self.aggr=aggr
            self.job=job
        def walk(self): #动态属性、函数属性、方法
            print("%s is walking"%self.name)
    # p=Person() #如何让对象拥有具体的属性
    p=Person(1000,2,"金老板","boss")  #让对象有具体的属性
    print(p.lv)   #Person 的对象
    print(p.name)   #Person 的对象
    print(p.job) #Person 的对象
    print(p.aggr) #Person 的对象
    p.sex="laday_boy"   #增加一个属性
    print(p.sex)
    p.sex="girl"        #属性的修改
    print(p.sex)
    del p.sex           #属性的删除
    类的增删改查 (简单,重要)

     8、

    9、模板

    class Person:     #类名有两个作用
        country="中国" #静态属性、数据属性
        def __init__(self,life_value,aggr,name,job):#初始化方法
            self.lv=life_value
            self.name=name
            self.aggr=aggr
            self.job=job
        def walk(self): #动态属性、函数属性、方法
            print("%s is walking"%self.name)
    # p=Person() #如何让对象拥有具体的属性
    p=Person(1000,2,"金老板","boss")  #让对象有具体的属性
    boss_gold=Person(10,1,"taibai","old_driver")
    boss_sex="None"
    print(boss_gold.__dict__)
    #{'lv': 10, 'name': 'taibai', 'aggr': 1, 'job': 'old_driver'}
    类与对象实例化的模板

  • 相关阅读:
    Java简单游戏开发之碰撞检测
    Android应用程序在新的进程中启动新的Activity的方法和过程分析
    Android应用程序组件Content Provider的共享数据更新通知机制分析
    Android应用程序组件Content Provider在应用程序之间共享数据的原理分析
    VS2005检查内存泄露的简单方法
    iOS如何让xcode自动检查内存泄露
    wf
    VC++ListBox控件的使用
    textoverflow:ellipsis溢出文本显示省略号的详细方法
    VC编写代码生成GUID并转换为CString字符串
  • 原文地址:https://www.cnblogs.com/number1994/p/8053047.html
Copyright © 2011-2022 走看看