Python 入门【预备知识】---- 程序设计思想

Python 入门【预备知识】---- 程序设计思想

  • 1. 宽泛的面向对象的概念
  • 面向过程
  • 面向对象
  • 2. Python 中的面向对象
    • 对象
    • 属性
    • 方法
  • 3. Python 中面向对象的三大特征
    • 封装
    • 继承
    • 多态
  • 4. 面向对象编程的设计

Python 是既属于面向对象又属于面向过程的一门编程语言

1. 宽泛的面向对象的概念

面向过程

从字面就可以看出,面向对象注重的是过程,比如 C、C++,都是经典的面向过程的编程语言。
如果你打过编程竞赛就会知道,编程竞赛像蓝桥杯、ACM、ICPC等,算法题目都是面向过程的,注重你要如何去求解这道算法题目。
面向对象就是说,在处理一件事情的时候,我们要去考虑这件事情的全部,从头到尾,以及中间过程。
比如:

小明的一天:小明早上吃了饭 - 小明中午吃了饭 - 小明中午睡了觉 - 小明下午敲了代码 - 小明晚上吃了饭 - 小明晚上睡了觉

面向对象

对象,学过 java 就应该知道,万物皆对象,Python 一样,在 Python 中万物也皆对象
面向对象的编程思想,对于一件事情来说,我们就不需要考虑这件事的中间过程了,仅考虑它的对象就可以了
比如:

小明的一天:小明活了一天

从上面可以看出,面向对象的编程语言雀氏要比面向过程的编程语言简单,这也是 Python 简单的一个方面,大部分程序员认为面向对象的编程更加简单,写起来思路更加清晰。(个人觉得,还是面向过程的编程语言更简单一点…可能是竞赛打多了后遗症)

2. Python 中的面向对象

类:描述一类事务,一个抽象的概念,比如:人、动物、水果

对象

对象:类的具象化表示,比如:张三、李四,猫、狗,苹果、香蕉

属性

属性:对象的特征,比如:男的、女的,大猫、小狗,红苹果、绿香蕉

方法

方法:对象的功能行为,比如:张三会武术、李四会跳舞,猫会抓老鼠、狗会汪汪叫…

类 - 对象 - 属性
类 - 对象 - 方法

3. Python 中面向对象的三大特征

封装

将属性和方法封装到一个抽象的类中

外界使用创建对象,然后让对象调用方法
对象方法的细节都被封装到类的内部

继承

单继承
代码的传递性:孙子类中可以使用爷爷类型的方法(子承父业)

多继承
一个子类可以继承多个父类
子类拥有所有父类的属性和方法

方法重写:在子类中书写和父类同名的方法
特点:在类中调用方法,如果在子类中找到,直接执行子类中的方法,如果子类中没有找到这个方法,就去父类中找,找到了就调用父类中的方法,如果父类中没有找到,就报错

多态

一个对象的多种形态(一父多子)
作用:增强代码的灵活性、提高代码的扩展性
条件:继承、方法的重写

封装、继承、多态是 Python 的三大特性
这三大特性在 java 中也有提及,学过 java 就不会这么陌生了

4. 面向对象编程的设计

继承体系设计 有什么类 有什么属性 封装到什么方法中去

比如:门 锁 人 ,把开门关门的方法 封装在谁的类之中?
封装在门的类之中,(谁拥有数据谁就拥有操作数据的权利)而人相当于一个main方法
调用时:拿到门对象,调用门的开关门方法

你可能感兴趣的:(python,list,django,virtualenv,tornado)