美文网首页
Python(十) 面向对象编程

Python(十) 面向对象编程

作者: 晓看云 | 来源:发表于2019-12-22 20:18 被阅读0次

    一、开发思想

    1.面向过程编程:根据业务逻辑,从上到下垒写代码

    2.函数式编程:将某功能代码封装到函数中,日后无需编写。仅调用即可。

    3.面向对象编程:对函数进行分类和封装,让开发"更好更快更强"

    二、面向对象编程

    1.Python 从设计之初就是一门面向对象的语言。

    2.面向对象对象编程,最重要的就是类和实例的概念。

      类:用来描述相同的属性和方法的对象集合。

    3.对象

      对象是面向对象方法中的核心概念。

      对象的方法一方面把对象的内部变量包裹、保护起来,使得只有对象自己的方法才能操作这里内部变量;

    另一方便,对象的方法还是对象与外部环境的接口。通过这些接口驱动对象执行指定行为,提供相应的服务。

    4.类与对象

      类:类是一个模板,它描述了一类对象的行为和状态。

      对象:对象是类的一个实例,有状态和行为。

    5.创建类

    #创建类

    class Foo:

      #创建类中的函数:

      def Bar(self):

        #do something

    #根据类Foo创建对象obj

    obj = Foo()

    使用class语句来创建一个新类,class之后为类的名称。类名后有一括号,括号中

    为基类(可以有多个基类),然后以冒号结尾。

    class ClassName(BaseClass1,BaseClass2,...):

        'optional class documentation string' #类的帮助信息

        class_suite #类体

    (1) 类的帮助信息可以通过ClassName._doc_查看

    (2)  Class_suite由类成员、方法、数据属性组成。

    5.1 创建类

    #coding=utf-8

    class Employee(object):

        empCount=0 #所有员工基类

        def __init__(self,name,salary):

            #类的构造函数

            self.name = name

            self.salary = salary

            Employee.empCount+=1

        def displayCount(self):

            #类方法

            print("total employee",Employee.empCount)

        def displayEmployee(self):

            print("name:",self.name,",salary:",self.salary)

    5.2 empCount变量是一个类变量(也叫静态变量)。它的值将在这个类的所有实例之间

    共享。你可以在内部类或外部类使用Employee.empCount访问。

    5.3 _init_()类中第一个方法_init_()是一种特殊方法,被称为类的构造函数或初始化方法。

    只要创建类的实例,就会调用这个方法。如果没显示定义这个方法,默认会给一个空的

    构造方法。

    5.4 类方法中参数的self,代表是实例本身,相当于java中的this指针。并且类中所有的方法

    都必须由self,并且写在第一个参数位置。

    5.5 所有类都是继承至基类object。

    6. 访问类的实例方法或属性

        类通过函数(在class语句内由def语句编写的)为实例提供行为。因为这种嵌套的def

    会在类中对变量名进行赋值,实际效果就是把属性添加到类对象之中,从而可以由所有实

    例和子类继承。

        方法:def语句出现在类内部时,通常就叫方法,而且会自动接收第一个特殊参数(通常

    self),这个参数提供了被处理的实例的参照值,并且一定是明确写出来的。

        访问对象的属性及方法,需要使用(.)访问。如果访问类变量,既可以直接使用类名称访问,

    也可以用类的实例名称访问。

    7.创建实例对象

      要创建一个类的实例,可以使用类的名称,并通过__init__()方法来接受参数。

      创建一个类的具体对象。每次从类产生实例时,Python都会自动调用名__init__的方法,

    也就是类的创造方法,进行数据初始化。新实例会如往常那样传入__init__的self参数。

    该方法也会在类中被继承。

    8.类的对象在内存中是如何保存?

    类及类中的方法在内存中只有一份,而根据类创建的每一个对象都在内存中需要存一份。

    三、封装

    封装,将内容封装到某个地方,以后再去调用被封装在某处的内容。

    在使用面向对象的封装特性时,需要:

      将内容封装到某处;

      从某处调用被封装的内容;

    四、调用

    调用被封装的内容时,有两种情况:

      通过对象直接调用 对象.属性名

      通过self间接调用 对象.方法

    相关文章

      网友评论

          本文标题:Python(十) 面向对象编程

          本文链接:https://www.haomeiwen.com/subject/txcmtctx.html