第8单元 面向对象编程 python
第8单元 面向对象编程
本单元知识点 >8.1面向对象编程概述 >8.2创建类与对象 >8.3属性和方法 >8.4继承 >8.5多态 >8.6封装 >8.7单例模式
本单元知识点 ➢ 8.1 面向对象编程概述 ➢ 8.2 创建类与对象 ➢ 8.3 属性和方法 ➢ 8.4 继承 ➢ 8.5 多态 ➢ 8.6 封装 ➢ 8.7 单例模式
8.1面向对象编程概述 1.对象 现实世界中客观存在的事物称作对象(object),任何对 象都具有各自的特征(属性)和行为(方法)。 面向对象程序设计中的对象是现实世界中的客观事物在程 序设计中的具体体现,它也具有自己的特征和行为。对象的特 征用数据来表示,称为属性(property)。对象的行为用程序 代码来实现,称为对象的方法(method)。总之,任何对象 都是由属性和方法组成的
8.1 面向对象编程概述 1.对象 现实世界中客观存在的事物称作对象(object),任何对 象都具有各自的特征(属性)和行为(方法)。 面向对象程序设计中的对象是现实世界中的客观事物在程 序设计中的具体体现,它也具有自己的特征和行为。对象的特 征用数据来表示,称为属性(property)。对象的行为用程序 代码来实现,称为对象的方法(method)。总之,任何对象 都是由属性和方法组成的
8.1面向对象编程概述 2.类 类(cass)是具有相同属性和行为的一组对象的集合,它 为属于该类的全部对象提供了统一的抽象描述。任何对象都是 某个类的实例(instance)。 在系统中通常有很多相似的对象,它们具有相同名称和类 型的属性、响应相同的消息、使用相同的方法。将相似的对象 分组形成一个类,每个这样的对象被称为类的一个实例,一个 类中的所有对象共享一个公共的定义,尽管它们对属性所赋予 的值不同
8.1 面向对象编程概述 2.类 类(class)是具有相同属性和行为的一组对象的集合,它 为属于该类的全部对象提供了统一的抽象描述。任何对象都是 某个类的实例(instance)。 在系统中通常有很多相似的对象,它们具有相同名称和类 型的属性、响应相同的消息、使用相同的方法。将相似的对象 分组形成一个类,每个这样的对象被称为类的一个实例,一个 类中的所有对象共享一个公共的定义,尽管它们对属性所赋予 的值不同
8.2创建类与对象 ▣▣ 1.定义类 在Pythont中,通过class关键字来定义类。定义类的语法格式如下: 扫码看祝领8.】 class类名: 成员变量 成员函数 例如定义了一个Person类 class Person: name=brenden #定义了一个属性 def printName(self): #定义了一个方法 print(self.name
8.2 创建类与对象 1. 定义类 在Python中,通过class关键字来定义类。定义类的语法格式如下: class 类名: 成员变量 成员函数 例如定义了一个Person类: class Person: name='brenden' #定义了一个属性 def printName(self): #定义了一个方法 print(self.name) 扫码看视频8.1
8.2创建类与对象 2.对象的创建和使用 在Pythont中,用赋值的方式创建类的实例,一般格式为: 对象名=类名参数列表 创建对象后,可以使用“"运算符,通过实例对象来访问这个类的属性和 方法(函数),一般格式为: 对象名属性名 对象名.函数名(
8.2 创建类与对象 2.对象的创建和使用 在Python中,用赋值的方式创建类的实例,一般格式为: 对象名=类名(参数列表) 创建对象后,可以使用“.”运算符,通过实例对象来访问这个类的属性和 方法(函数),一般格式为: 对象名.属性名 对象名.函数名()
8.2创建类与对象 【例8.1】类和对象应用示例。程序如下: class CC: x=10 #定义属性 y=20 #定义属性 Z=30 #定义属性 def show(self): #定义方法 print((self.x+self.y+self.z)/3) b=CC() #仓创建实例对象6 b.x=30 #调用属性赵 b.show() #调用方法shoW 运行结果:26.666666666666668
8.2 创建类与对象 【例8.1】类和对象应用示例。程序如下: class CC: x=10 #定义属性 y=20 #定义属性 z=30 #定义属性 def show(self): #定义方法 print((self.x+self.y+self.z)/3) b=CC() #创建实例对象b b.x=30 #调用属性x b.show() #调用方法show 运行结果:26.666666666666668
8.3属性和方法 1类属性 养特挚喜养程交婴鼓嘉美贤蠖看美餐哈 【例8.2】定义Student类,定义实例属性和方法 可送时 扫码看视频8.2 class Person: name='brenden #公有的类属性 age=18 #私有的类属性 p=Person() print(p.name) #正确,但不提倡 print(Person.name) #正确 print(p._age #错误,不能在类外通过实例对象访问私有 的类属性 orint(Person.age #错误,不能在类外通过类对象访问私有 的类属性
8.3 属性和方法 1.类属性 类属性被所有类对象的实例对象所共有。类属性通常在类体中初始 化。对于公有的类属性,在类外可以通过类对象和实例对象访问。 【例8.2】定义 Student类,定义实例属性和方法 class Person: name='brenden' #公有的类属性 __age=18 #私有的类属性 p=Person() print(p.name) #正确,但不提倡 print(Person.name) #正确 print(p.__age) #错误,不能在类外通过实例对象访问私有 的类属性 print(Person.__age) #错误,不能在类外通过类对象访问私有 的类属性 扫码看视频8.2
8.3属性和方法 2.实例属性 实例属性(instance attribute)是不需要在类中显式定义,而 在_init构造函数中定义的,定义时以“sef."作为前缀,实 例属性属于特定的实例。在其他方法中也可以随意添加新的实 例属性但并不提倡这么做,所有的实例属性最好在i计中 给出。实例属性在内部通过“sf."访问,在外部通过对象实 例访问
8.3 属性和方法 2.实例属性 实例属性(instance attribute)是不需要在类中显式定义,而 在__init__构造函数中定义的,定义时以“self. ”作为前缀,实 例属性属于特定的实例。在其他方法中也可以随意添加新的实 例属性,但并不提倡这么做,所有的实例属性最好在__init__中 给出。实例属性在内部通过“self. ”访问,在外部通过对象实 例访问
8.3属性和方法 3.类的方法 实例属性(instance attribute)是不需要在类中显式定义,而 在iit构造函数中定义的,定义时以“sef."作为前缀,实 例属性属于特定的实例。在其他方法中也可以随意添加新的实 例属性,但并不提倡这么做,所有的实例属性最好在t中 给出。实例属性在内部通过“sf."访问,在外部通过对象实 例访问
8.3 属性和方法 3.类的方法 实例属性(instance attribute)是不需要在类中显式定义,而 在__init__构造函数中定义的,定义时以“self. ”作为前缀,实 例属性属于特定的实例。在其他方法中也可以随意添加新的实 例属性,但并不提倡这么做,所有的实例属性最好在__init__中 给出。实例属性在内部通过“self. ”访问,在外部通过对象实 例访问