python面向对象编程1
面向对象编程
假设我们要处理学生的成绩表,为了表示一个学生的成绩,面向过程的程序可以用一个dict表示:
std1 = { 'name': 'Michael', 'score': 98 } std2 = { 'name': 'Bob', 'score': 81 }
而处理学生成绩可以通过函数实现,比如打印学生的成绩:
def print_score(std): print('%s: %s' % (std['name'], std['score']))
二、面向对象
class Student(object): def __init__(self, name, score): self.name = name self.score = score def print_score(self): #打印成绩方法 print('%s: %s' % (self.name, self.score))
Jack1 = Student('Jack', 59) Rose1 = Student('Rose', 87) print(Jack.print_score()) print(Rose.print_score())
三、面向对象特点
四、类和对象
类和对象是面向对象编程的两个核心概念。
1、类
类是对一群具有相同特征或者行为的事物的一个统称,是抽象的。
特征其实就是一个变量,在类里我们称之为属性。
行为其实就是一个函数,在类里我们称之为方法。
类其实就是由属性和方法组成的一个抽象概念。
对象是由类创建出来的一个具体事物,可以直接使用。由哪一个类创建出来的对象,就拥有在哪一个类中定义的属性和方法。在开发中,应该先有类,在类里定义好属性和行为,在根据类来创建对象。
类是模板,对象是根据类这个模板创建出来的,应该先有类,再有对象。
使用同一个类,能够创建出很多对象。
类中定义了什么属性和方法,对象中就有什么属性和方法。
不同对象对应的属性值也会不同。
品种
颜色
性别
名字
五、类的设计
在程序开发中,要设计一个类,通常需要满足一下三个要素:
名词提炼法:分析整个业务流程,出现的名词,通常就是要找到的类。
对象的特征描述,可以定义成属性。
对象具有的行为(动词)可以定义成方法。
3、类定义与调用举例
a、类定义
class Person(object): def __init__(self,name,age,height): self.name=name
self.age=age self.height=height def run(self): print('正在跑步') def eat(self): print('正在吃东西')
说明:
2、在__init__()方法里,以参数的形式定义特征,我们称之为属性
b、创建对象
p1=Person('Mike',18,1.75) p2=Person('John',17,1.65) p1.run() p1.eat() p2.eat()
说明:
2、p1和p2都会有name、age、height属性,同时具有run、eat方法