zoukankan      html  css  js  c++  java
  • 面向对象

    1,类Class是抽象的;对象Object是具体的;

    2,类的属性:方法Methods(类包含的函数)和类变量Class Variables;

    3,类用Class创建,method和Variable在缩进块中定义;

    4,对象内定义的变量称为实例变量Instant Variables,对象可以使用类内的函数(Methods);

    5,对象和类内的变量统称为域Field;

    6,self

          类的Method与一般函数的唯一区别是,Method的参数列表中必须首先一个参数self。

          self的作用是:假设一个类MyClass以及对应的对象MyObject,当该对象调用某Method时,

          MyObject.Method(arg1, arg2),对Python来说即相当于 MyClass.Method(MyObject, arg1, arg2)。

          但是,假如某个Method只属于类时,不需要再声明self;此时,应该该method上一行标明 @classmethod

    7,创建类的对象

          类名之后加一对圆括号。例如:

          Class Person:

              pass

          p = Person()

    8,Method __init__

           __init__的作用是,在创建对象时,使用__init__对其初始化。

           初始化什么、初始化成什么样子,完全由__init__的内容决定。举个例子。

           Class Person:

               def __init__ (self, name1) :

                    self.name2 = name1

                    # self可理解成对象的”替身”;

                    # 初始化的内容是,定义一个实例变量name2,在初始化时把传递给参数name1的值赋给它

            p = Person(‘Dickface’)

            此后,p.name2即为Dickface

    9,类变量

           一般来说,类变量是共享的而且是互斥的。即,所有的对象均可调用类变量,而且某一时刻仅允许最多一个对象引用它;类变量的变化会反映到全局。

           如果希望类变量私有,可以在变量名前加前缀 __,例如 __privatevar

    10,继承

             (1) 继承规则:父类作为元组跟在子类名称后面,带冒号。

                   例如: class ChildClass (ParentClass) :

             (2) 初始化

                   在子类中,用父类的__init__初始化父类部分,用self再初始化子类部分

                   有一点需要注意,父类的初始化是在子类初始化要退出之前才开始的。

                   看下面例子:

                   image

                  实验证明,打印的消息会出现在父类的消息之前。

             (3) method的使用

                   子类的对象使用method,会从下到上层层搜索。即,现在子类中寻找该method,如果没有,再到父类中找。

  • 相关阅读:
    GDI绘图1——自定义函数
    GDI绘图1——枚举
    打箱子&地形&鼠标点击移动总结
    使用Playmaker1——基础使用
    图形用户编程工具集比较--转
    Java中抽象类和接口的区别
    myeclipse安装 配置Maven3
    在Ubuntu上安装hadoop2.2.0的一些记录
    Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程
    获得hadoop源码网址
  • 原文地址:https://www.cnblogs.com/freshair_cnblog/p/7156797.html
Copyright © 2011-2022 走看看