学习Python的第十节课(类和对象)
一、类和对象
1、面向对象的基本概念
面向对象程序设计是将数据以及对数据的操作封装在一起,组成一个相互依
存、不可分割的整体(对象)。Python是面向对象的解释型高级动态编程
语言,完全支持面向对象的基本功能。
面向对象编程的基本概念主要包含对象、类、封装、继承、多态。
对象:现实世界中客观存在的事物称作对象(object),任何对象都具有各自
的特征(局性)和行为(方法)。
类:具有相同属性和行为的一组对象的集合,它为属于该类的全部对象提供
了统一的抽象描述。任何对象都是某个类的实例。
封装:把对象的数据(属性)和操作数据的过程(方法)结合在一起,构成独
立的单元,它的内部信息对外界是隐蔽的,不允许外界直接存取对象的属
性。
几乎大部分的狗狗具备眼睛、耳朵、鼻子、吃狗粮的特征。将这一类群体的
公共特征抽象出来,集成在一起的过程就是封装。
继承:反映的是类与类之间抽象级别的不同,根据继承与被继承的关系,可分为
基类和衍类。
食草动物和食肉动物都是从动物大类中继承而来的。它们具备了动物的基本特
征。
多态:指同一名字的方法产生了多个不同的动作行为,也就是不同的对象收到相
同的消息时产生不同的行为方式。
动物都具备跑run的行为,但是不同的对象对于跑这个动词的实现又各不一样。
2、类的定义
python使用class关键字来定义类,class关键字之后是一个空格,接下来是类
的名字,如果派生自其它基类的话则需要把所有基类放到一对圆括号中并使用
逗号分隔,然后是一个冒号,最后换行并定义类的内部实现。
3、实例对象的定义
实例对象的定义格式与一般变量的定义格式类似: 对象名=类名([参数1,参数
2,……])
创建实例对象后,可以使用“.”运算符,通过实例对象来访问这个类的属性和方
法(函数),一般格式为:
对象名.属性名
对象名.函数名()
二、属性和方法
根据类的定义,在一个类的类体中集成
量形式表示对象的特征,又称为数据成员;方法指的是用函数形式表示对象的
行为,又称为成员方法。数据成员和成员方法统称为类的成员。重点掌握类属
性和实例属性的定义和使用。
类属性在类的函数成员外进行定义,类属性属于类,被类的所有实例共享。
实例属性通常在构造函数中进行定义并初始化,属于实例对象。
实例方法的第一个形参默认为self,属于实例对象。
通过例子1、2来讲述属性和方法的创建以及访问。
三、私有成员和公有成员
类的成员有访问权限的限制,分为私有成员和共有成员。私有成员在类的外部
不能直接访问,一般是在类的内部进行访问和操作;公有成员是可以公开使用
的,既可以在类的内部进行访问,也可以在外部程序中使用。
Python中,以下划线开头的变量名和方法名有特殊的含义。
__xxx__:系统定义的特殊成员。 例如,__str__、__init__等。
__xxx:私有成员。只有类对象自己能访问,在类外部不能直接访问。例
如,__val1、__name等。
四、作业
编程:设计一个三维向量类,并实现向量的加、减运算及向量与标量的乘、除运算。
1、
2、