python核心阶段(一)—— 面向对象基本理论

1.对象的概念

  • 什么是对象?

           万物皆对象,对象是具体的物体,它拥有属性和行为。即:把很多零散的属性和行为封装成一个整体

           例如对于一个人来说,属性(姓名、年龄、身高...),行为(吃饭、睡觉、走路...)

  • 在python中的体现 

            python是一门特别彻底的面向对象编程(OOP)的语言,

      在其他语言中,int、float、bool...为基本数据类型,string、array...为对象类型

      而在python语言中,所有数据类型都是对象类型

2.面向过程 & 面向对象 

  2.1 概念介绍

         二者都是属于解决问题的一种思路

  • 面向过程:在解决问题的时候,以事件为中心,关注的是解决问题的每一个的过程(步骤).
  • 面向对象:以“对象”为中心,按照功能对象对问题进行划分,关注解决问题所需要的对象.
  • python核心阶段(一)—— 面向对象基本理论_第1张图片python核心阶段(一)—— 面向对象基本理论_第2张图片

 2.2 具体例子(下五子棋)

1)面向过程:

     首先分析解决这个问题的步骤:

     开始游戏 一> 黑子先走 一> 绘制画面 一> 判断输赢 一> 轮到白子 一> 绘制画面 一> 判断输赢 一> 一直循环 一> 输出最后结果。

     然后在每个步骤调用相应的函数或代码,重点在一步一步地判断棋局的输赢。

2)面向对象:

     首先将整个五子棋游戏分为三个对象:

   黑白双方(负责下棋);棋盘系统(负责绘制棋盘);规则系统(判定输赢、犯规)

     然后赋予每个对象一些属性和行为:

    第一类对象(黑白双方)负责接受用户输入,并告知第二类对象(棋盘系统)棋子布局的变化,棋盘系统接收信息并负责绘制出这种变化,同时利用第三类对象(规则系统)对棋局进行判定。

     可以看出,面向对象是以功能来划分问题,而不是以步骤解决。 建立对象不是为了完成一个步骤,而是为了描叙某个对象在整个解决问题的步骤中的属性和行为。 

 2.3 优缺点对比

 1)面向对象本身是对面向过程的封装,只是把面向过程中不同功能的步骤划分到了不同的对象           中,步骤总体并没有减少

2) 面向过程,步骤明确使得编程任务更加明确,效率高,但代码扩展能力差,较难维护

3) 面向对象,结构清晰,程序模块化结构化,易于扩展和维护,但程序开销大,更加臃肿

2.4 实现面向过程 一> 面向对象的转变

1)列举出一个任务的具体实现步骤

2)试图分离这些实现步骤中的功能代码块

3)将这些功能代码块,划分到某一个对象中

4)根据这个对象以及对应的行为,抽象出对应的类

3.类

 3.1 类的概念及作用

  • 类的概念

类是将同类对象的共同属性和行为抽象出来形成的一个相对复杂的数据类型

创建类实质上就是将抽象出的数据,代码封装在一起(类声明中的{}),形成类。

  • 类和对象的关系

对象的抽象是类,类的具体化就是对象

(例如周杰伦和林俊杰有相同的属性:唱歌好听,就可以抽象成一个类:歌手)

  • 类的作用

根据抽象的类,生产具体的对象


目的:增强安全性和简化编程,使用者不必了解具体细节,而只需要通过外部接口,以特定的访问权限,来使用类的成员。

 3.2 类的定义

  • 语法:    class  类名(首字母大写):
                              xxxx(类的描述)
    class Money:  # 注1.首字母大写 2.Money后面不加括号
        pass      #占位符

你可能感兴趣的:(python学习笔记,python核心阶段,python,学习方法)