一、什么是面向对象?
1.面向对象(Object Oriented)是软件开发方法,一种编程范式。
二、面向对象的三个基本特征?
1.封装
封装:将属性和方法封装到一起,隐藏内部实现细节,仅对外提供公共的访问方式
优势
1.便于使用
2.提高了安全性
3.提供了重复性
2.继承
继承:继承是类与类之间的关系,一个类A继承另一个类·B时,A会将B属性和方法全部继承过来在python中B就是父类也叫基类,A叫子类也叫派生类,一个子类可以继承多个父类·
目的:
1.提高了代码的重用性,减少代码冗余
3.规范子类,实现规一化
3.多态
多态:多种状态,一个类可以创建多个对象每个对象可以有不同的属性和方法,称为多态。
多态按字面的意思就是“多种状态” ,用通俗一点的说法来说:多态就是指不同对象调用同一个方法功能的表现形式不一样,例如:不同的两个对象,列表的加法和整数的加法,同样是加法,实现的功能是不一样的
三,面向对象中,常用术语包括:
类:可以理解是一个模板,通过它可以创建出无数个具体实例。
1.创建类
使用 class 语句来创建一个新类,class 之后为类的名称并以冒号结尾:
对象:类并不能直接使用,通过类创建出的实例(又称对象)才能使用。这有点像汽车图纸和汽车的关系,图纸本身(类)并不能为人们使用,通过图纸创建出的一辆辆车(对象)才能使用。
2.创建实例对象
实例化类其他编程语言中一般用关键字 new,但是在 Python 中并没有这个关键字,类的实例化类似函数调用方式。
以下使用类的名称 Employee 来实例化,并通过 __init__ 方法接收参数。
属性:类中的所有变量称为属性。例如,tortoise 这个类中,bodyColor、footNum、weight、hasShell 都是这个类拥有的属性。
3.访问属性
您可以使用点号 . 来访问对象的属性。
使用以下函数的方式来访问属性:
- getattr(obj, name[, default]) : 访问对象的属性。
- hasattr(obj,name) : 检查是否存在一个属性。
- setattr(obj,name,value) : 设置一个属性。如果属性不存在,会创建一个新属性。
- delattr(obj, name) : 删除属性。
方法:类中的所有函数通常称为方法。不过,和函数所有不同的是,类方法至少要包含一个 self 参数(后续会做详细介绍)。例如,tortoise 类中,crawl()、eat()、sleep()、protect() 都是这个类所拥有的方法,类方法无法单独使用,只能和类的对象一起使用。
学号:202113430131 胡君诚