美文网首页
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