本章引言
Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。
OOA、OOD、OOP、OOT、OOSM
OO :Objec - Oriented ,面向对象,基于对象概念,以对象为中心,以类和继承为构造机制,来认识,理解,刻画客观世界和设计,构建相应的软件系统的一门方法;本意-- 模拟人类的思维方式,使开发,维护,修改更加容易.
OOA:Object - Oriented Analysis, 面向对象分析,强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析---其实就是进一步对OO进行细化,初步得出OO的方法(或者简单的理解:在得出的文档中对接口粗略定义)
OOD:Object - Oriented Design,面向对象设计,OO方法中一个中间过渡环节,其主要作用是对OOA分析的结果进一步的规范和整理,以便能够被OOP直接接受---整理和定义OO的属性和方法
OOP:object - Oriented Programming,把组件的实现和接口分开,并且让组件具有多态性---(抽象,封装,继承,多态)面向接口编程.
python面向对象编程
面向对象编程(OOP:object oriented programming):是程序语言设计的一种编程思想;同样也是程序语言设计的一套完整管理规范;可以很好的提高程序代码的可扩展性(会引入编程的核心特征:类、对象、封装、继承、多态等),还可以完成代码组织结构的创建(提高代码的可维护性);面向对象编程属于程序设计的编程阶段;
类与对象声明
语法:
class 类名:
pass
【例1】定义类Person1(Person1.py)
class Person1: #定义类Person1
pass #类体为空语句#测试代码
p1 = Person1() #创建和使用类对象print(Person1, type(Person1),id(Person1))
print(p1, type(p1), id(p1))
属性(一)
类中定义的成员变量、实例属性、通过self.变量名定义的属性
【例1】定义类Person2。定义成员变量(域)
class Person2: #定义类Person2
def __init__(self, name,age): #__init__方法
self.name = name #初始化self.name,即成员变量na