• 初识面向对象


    面向对象

    语法

    类:具有相同方法和属性的一类事物         例如 桌子 电脑 猫

    对象:具有具体的属性值的实际存在的例子      例如 周杰伦 江疏影

    用class来描述一个类

    class 类名:      创建一个类   类名通常为以大写字母开头的单词

    class Dog:

      变量1 = 100

      变量2 = 'ab'

      变量3 = [a,v,d,s]         变量可以是任何数据类型

    print(Dog.变量)      常用查看类中的变量的方法

    print(Dog.__dict__['变量'])      方法二

    实例化

    对象也是实例,创建一个对象就是创建一个实例,这个过程叫做实例化

    实例化的过程

    在内存中开辟了一块空间

    创建了一个 self 变量来指向这块空间  

    调用 init 自动传 self 参数  其他的参数都是按照顺序传进来的

    执行init  将 self 自动返回给调用者

    类名加括号的方式可以创建一个对象

    class Dog:
        def __init__(self,name,hp,ad,sex):
            print('执行')
            self.dict['name'] = name    不常用 
            self.blood = hp
            self.ad = ad
            self.sex = sex
                    self 其实上是由python的语法开辟出了一个属于具体的对象的空间
    qu = Dog('qu',20,10,'man')            传参的过程中 qu = self
    (对象/实例)
    print(qu.name)          引用实例变量/引用对象属性
    leng = Dog('leng',10,5,'sb')
    (对象/实例)
    print(leng.ad)

    执行 init 向 self 这类空间管理的字典中添加一些 key value,  self 会自动的被返回

    一切皆对象

    数据类型也是类

    对象就是具体的内容

    class Dog:

      a = 100          a就是静态变量  这个类中的变量  是所有对象共享的值  所有静态变量的值都尽量用类名去操作

      def __init__(pass)  初始化方法

      (对象资源)

    示例函数

    class Dog:
        def __init__(self,name,hp,ad,sex):
            self.name = name
            self.hp = hp
            self.ad = ad
            self.sex = sex    
        def bite(self,person)         
            person.hp -= self.ad
            print('%s攻击了%s,造成了%s点伤害'%(self.name,person.name,self.ad))
    class Person:
        def __init__(self,name,hp,ad,sex):
            self.name = name
            self.hp = hp
            self.ad = ad
            self.sex = sex
        def fight(self,dog)
            dog.hp -= self.ad
            print('%s攻击了%s,造成了%s点伤害'%(self.name,dog.name,self.ad))
    hei = Dog('小黑',20,10,'?')
    pdd = Person('PDD',100,20,'man')
    hei.bite(pdd)
    print(pdd.hp)
    pdd.fight(hei)
    print(hei.hp)

    里面的def fight(self,dog) 属于动态变量/方法  是只属于Person的方法

    类名     可以调用所有定义在类中的名字

    对象名 可以调用所有定义在对象中的属性

    变量 函数名

    在 init 函数和 self 相关的调用函数 且调用函数的时候  会把当前的对象当作第一个参数传递给 self

    向对象的内存空间添加

    可以通过 init 在类的内部完成  也可以通过对象名在类的外部完成

    也可以通过在类的外部通过对象名来修改属性的值

    删除

    del pdd.name        删除  pdd.name  这条属性

  • 相关阅读:
    2013百度轻应用巡讲沙龙上海站
    xcode自动打ipa包脚本 资料
    Xcode 自动对齐 插件
    Lable中添加链接文字。。。各种操作 都能满足。简单易用【NIAttributedLabel】
    XMPP 安装ejabberd 搭建服务器环境
    git 终端命令行工具(忽略大小写,很好用)
    IOS团队开发之——CocoaPods 第三方库管理工具
    XCode 调试方法 (很全 很有用)
    模块化设计-iOS团队协作开发 v1.0
    淘宝技术部(ios 优化方案)
  • 原文地址:https://www.cnblogs.com/biulo/p/10597388.html
Copyright © 2020-2023  润新知