面向对象(简写:OOP)

面向对象编程定义:利用类和对象来创建各种模型,来实现对真实世界的描述。

优点:使程序更容易理解和维护以及扩展代码。

类定义:用来描述具有相同的属性和方法的对象的集合。(简单讲就是个模板)

实例化定义:创建一个类的实例,类的具体对象。

对象定义:通过类定义的数据结构的实例

举例:一个最简单最小结构的类写法如下:

class class_name(object):
    print('bababa')

举例一个正常类的写法:

class 类名称(object):
    def __init__(self,name..) #构造函数
        self.arg1 = name # 普通属性(成员变量),注:self就是实例对象本身,保存在对象内存里
    def fun1(self): # 普通方法(动态属性)
        print('...')

类进行实例化的运行原理:

  1:将类中的对象和方法存储于内存中,
  2:类进行实例化时,先在内存申请一块空间用于存放实例对象
  3:把实例对象的内存地址和赋值参数传递给类模板
  4:模板对传入的值进行self变量赋值,然后将self变量发送到实例对象内存空间。

类的三大特性:封装,继承,多态

  -- 封装:类内部的数据和方法,对数据的赋值和内部调用对类外部而言是透明的。简单说就是隐藏实现的细节,使代码模块化。

      特性:防止数据被随意修改,可以通过此对象对外接口进行直接访问。

       另(类封装了属性和方法,对象封装了普通属性的值)

  -- 继承:一个父类派生出的子类,在父类里定义的属性和方法自动被子类继承,实现一个角色的共同点和不同点的同时存在。使代码重用

      注意:承可以多级继承,不过越多代码会越复杂,建议继承2-3级即可,继承的2个类之间应该是属于的关系。

    -- 被继承的类命名:父类,基类,超类

    -- 继承的类命名:子类,派生类

      --种类:单继承和多继承。

      --继承的过程:从一般到特殊的过程。

             这里“一般”指:父类这样的对一个角色具有共同点。

             这里“特殊”指:子类这样的对每一个角色的不同点的单独定义

      --实现方式有2类:实现继承 和 接口继承

             实现继承:指父类具有的功能,子类继承后直接调用不需再修改。

             接口继承:指仅使用父类的属性和方法的名称,具体实现需要在子类里单独实现。

举例:单继承基本继承写法

 1 class Person(object):
 2     def __init__(self,name,age=22):
 3         self.NAME = name
 4         self.AGE = age
 5         self.storage = 'Normal'
 6     def talk(self):
 7         print('custom ......')
 8 class blackPerson(Person):
 9     def __init__(self,name,age,job):
10         Person.__init__(self,name,age)  #继承父类的属性(经典写法)
11         self.JOB = job
12     def talk(self):
13         Person.talk(self)   # 继承父类的方法,不过这样没有意义,
14         print('非洲语言')
15 class writePerson(Person):
16     def __init__(self,name,mess):
17         Person.__init__(self,name)
18         self.MESS = mess
19     def talk(self):
20         print('speak ENGLISH')
View Code

相关文章:

  • 2022-12-23
  • 2022-03-07
  • 2021-12-03
  • 2021-07-21
  • 2021-09-12
  • 2022-01-18
猜你喜欢
  • 2021-12-13
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-28
  • 2022-12-23
  • 2022-01-01
相关资源
相似解决方案