面向对象及练习题
1.面向对象
面向对象概念
面向对象是一种编程思想,是对现实世界中的事物进行抽象的方式。应用到代码编程设计中,是一种建立现实世界事物模型的方式。
面向对象和面向过程区别
面向过程关注的是完成工作的步骤,面向对象关注的是谁能完成工作。
面向对象是在完成工作的时候关注哪些个体能够完成对应的工作,找到对应的个体即可完成对应任务。
2.类
类的概念
类是一系列事物的统称,同类事物必定具有相同的特征。日常事物的特征根据特性分为状态和行为,对应到类中是变量和方法。
特征分类:
状态变量(成员变量)
行为方法(成员方法)
统称:类的成员
类定义语法格式
class类名:
pass
说明:pass是空语句,不具有任何意义,仅为了保持程序结构完整性类名的命名规则
类名命名规范:满足大驼峰命名规则
3.对象
对象的概念
对象是类的具体表现形式,是实际存在的个体。(类是一系列事物的统称)创建对象语法格式
对象名= 类名()
注意事项
对象的创建不限制数量,一个类可以创建任意个数的对象
4.成员变量
成员变量的概念
成员变量用于描述对象的固有状态或属性。
定义成员变量语法格式(公有属性/公有变量)
class 类名:
def __init__(self):
self.变量名1 = 值1
self.变量名2 = None
成员变量定义语法格式(独有属性/独有变量)
对象名.变量名= 值
公有变量与独有变量的区别
公有变量在__init__方法中声明,每个对象都具有该变量
独有变量在创建对象后声明,只有当前对象具有此变量
定义对象的独有变量时,如果独有变量名与公有变量名相同,视为
修改公有变量的值;如果独有变量名与公有变量名不相同,视为定
义新的独有属性
None含义是为空,表示没有具体的数据
变量的调用格式
取值:对象名.变量名
赋值:对象名.变量名= 值
5.成员方法
成员方法概念
成员方法用于描述对象的固有行为
定义成员方法语法格式
格式一(无参方法):
class 类名:
def 方法名(self):
方法体
格式二(有参方法)
class 类名:
def 方法名(self,形参1,形参2,…):
方法体
调用成员方法语法格式
格式一(调用无参方法):
对象名.方法名()
格式二(调用有参方法):
对象名.方法名(实参1,实参2,…)
6.__init__方法
方法的作用
__init__方法,也称为构造方法,创建对象时为对象初始化成员变量定义__init__方法语法格式
格式一:
def __init__(self):
self.变量名1 = 值1
格式二:
def __init__(self,形参1,形参2,…):
属性名1 = 形参1
属性名2 = 形参2
方法调用和执行
__init__方法在创建对象时被运行,无需手工调用即可执行
__init__方法中如果有形参,在创建对象时需要传递对应的实参魔术方法
魔术方法是在类中声明、定义的方法,执行时无需手工调用,自动执行。
7.__str__方法
方法的作用
__str__方法是在使用print函数打印输出对象到屏幕时被调用的方法,用
于返回对象的规范化字符串表现形式
定义__str__方法语法格式
def __str__(self):
return 打印对象是显示的信息
8.成员方法调用类成员
成员方法中调用成员变量语法格式
self.变量名
成员方法中调用成员方法语法格式
self.方法名(实参1,实参2,…)
self
self仅出现在成员方法中,指代执行该方法的对象。
9.封装
封装的作用
封装操作可以对受访问保护的成员进行功能开放的控制,达到保护数据不被非法访问的目的
定义私有变量语法格式
属性名= 值
定义私有方法语法格式
def __方法名(self,形参1,形参2,…):
方法体
标准封装语法格式
变量私有化格式:
属性名= 值
提供公共的访问器格式:
def get_属性名(self):
return 属性名
提供公共的修改器格式:
def set_属性名(self,属性名):
属性名= 属性名
10.类变量
类变量的概念
类变量是定义在类中,不属于某个具体对象的特征,被所有对象共同使用的特征
定义类变量语法格式
class 类名:
变量名= 值
调用类变量语法格式
赋值格式:
类名.类变量名= 值
取值格式:
类名.类变量名(推荐)
对象名.类变量名(不推荐)
注意事项
类变量推荐使用类名取值访问,也可以使用对象名取值访问
类变量只能通过类名修改;使用对象名调用类变量修改类变量的值
时会创建新的对象独有变量;如果此时对象具有同名对象变量,则
修改对应的变量值
类变量可以私有化
11.类方法
类方法的概念
类方法是定义在类中,不属于某个具体对象的行为,被所有对象共同使用的行为
定义类方法基本语法
class 类名:
@classmethod
def 方法名(cls, 形参1,形参2,…):
方法体
调用类方法语法格式
类名.类方法名(实参1,实参2,…) (推荐)
对象名.类方法名(实参1,实参2,…) (不推荐)
注意事项
类方法中不允许使用实例变量和实例方法
类方法中允许使用类变量和类方法,通过第一个参数cls进行
实例方法中允许使用类变量和类方法
12.静态方法
定义静态方法语法格式
class 类名:
@staticmethod
def方法名(形参1,形参2,…):
方法体
调用静态方法语法格式
类名.静态方法名(实参1,实参2,…) (推荐)
对象名.静态方法名(实参1,实参2,…) (不推荐)
各种方法定义规则
只访问成员变量的方法,定义成实例方法
只访问类变量的方法,定义类方法
既访问成员变量,也访问类变量的方法,定义成实例方法
既不访问成员变量,也不访问类变量,定义成静态方法
练习题1
概念理解
要求:
1.如何理解面向对象编程(OOP)
2.什么是类,什么是对象
提示:
1.类和对象有两个层面的含义:类是对一类具体的事物的抽象的概括,具有
相似内部状态和运动规律的实体的集合,具有相同属性和行为事物的统称,是抽象的;对象是一个具体的事物,在现实世界中可以是看得见摸得着的,可以直接使用的
2.拥有相同(或者类似)属性和行为的对象都可以抽像出一个类
练习题2
定义类、创建对象
要求:
1.python中如何定义一个类
class类名:
方法...
class Test:
def test(self):
pass
2.类(class)由哪三个部分构成
类的名称、类的属性、类的方法
3.类名的命名规则是什么
大驼峰命名法
4.python中如何通过类创建对象,请用代码进行说明
# 创建对象
# 对象名= 类名()
class Human: # 定义类
pass
man = Human() # 创建对象
5.如何在类中定义一个方法,请用代码进行说明
class Human:
# 定义run方法
def run(self):
print("正在奔跑")
6.定义一个People类,使用People类,创建一个mayun对象后,添加company
属性,值是"阿里巴巴";创建一个wangjianling对象,添加company属性,值是"万达集团"
class People:
pass
mayun = People() # 创建mayun对象
= "阿里巴巴"# 为对象添加属性
wangjianlin = People() # 创建wangjianlin对象
= "万达集团"
7.定义一个水果类,然后通过水果类,创建苹果对象、橘子对象、西瓜对象
并分别添加上颜色属性
class Fruit:
pass
apple = Fruit()
= "红色"
orange = Fruit()
= "橙色"
watermelon = Fruit()
watermelon = "绿色"
8.定义一个汽车类,并在类中定义一个move方法,然后分别创建BMW_X9、
AUDI_A9对象,并添加颜色、马力、型号等属性,然后分别打印出属性值、调用move方法
class Car:
def move(self):
print("汽车正在移动")
BMW_X9 = Car()
= "白色"
= "300"
= "X9"
()
print("这辆%s %s的马力是%s匹"%,,)
AUDI_A9 = Car()
= "黑色"
= "320"
= "A9"
()
print("这辆%s %s的马力是%s匹"%, , )
提示:
1.可以在通过类创建出对象后,再为对象添加属性:对象名.属性名= 值的
方式添加
2.调用对象的方法和调用普通函数的一样,使用()来实现调用,只不过调用
方法需要使用:对象名.方法名()来进行调用
练习题3
要求:
__init__方法、__str__方法、self
1.__init__方法有什么作用,如何定义
当使用类名()的方法去创建对象的时候
python解释器会自动调用__init__方法
因此可以在__init__方法中做一些初始化的设定
在每次创建新对象时,都自动完成这些初始化的设定
class Human:
def__init__(self): # 注意名字不能写错,否则就只是一个普通的方法
pass
2.__str__方法有什么作用,使用时应注意什么问题
如果类中定义了__str__方法,那么当使用print打印对象时,打印出的信息是__str__方法的返回值
注意点:
__str__方法必须有返回值,且必须返回一个字符串类型的值
3.方法中的"self"代表什么
类中定义的许多方法,除了之后会提到的类方法和静态方法以外,其他任何的方法
当被对象调用时,python解释器都会把这个对象作为这个方法的第一个参数传入
所以定义这些方法时,必须写上第一个参数,往往写成self去接收
因此在这些方法中,self就可以直接被当做当前对象来使用
4.在类中定义__init__和__str__方法时,必须提供形参吗,第一个形参又必
须是self吗为什么
同上
但这个参数名可以写成别的,但往往写成self,便于编写程序的人区分
提示:
1.__init__方法可以在创建对象时,为对象实现一些初始化的操作,提供一
些默认属性
2.__str__方法可以在使用print打印对象时,打印出__str__方法的返回值
3.__str__方法必须拥有返回值,并且返回值的数据类型格式只能是字符串类
型
练习题4
判断以下说法是否正确,并说明理由
要求:
1.类就好比一个模型,可以预先定义一些统一的属性或者方法,然后通过这
个模型创建出具体的对象
True
2.类是抽象的,而对象是具体的、实实在在的一个事物
True
3.拥有相同(或者类似)属性和行为的对象都可以抽像出一个类
True
4.一个类只能创建出一个对象
False
通过类可以创建无数个不同的对象
例外:使用了单例模式的,只会创建出一个对象(就业班课程会讲解单例模式) 5.__init__方法在创建对象时,可以完成一些初始化的操作,完成一些默认
的设定
True
6.类是抽象的,而对象是具体的、实实在在的一个事物
True
7.__str__方法可以没有返回值
False
必须有返回值
8.__str__方法可以返回除字符串以外的其他类型的数据
False
必须返回字符串类型的数据
练习题1
面向对象应用1
要求:
1.任意定义一个动物类
2.使用__init__方法,在创建某个动物对象时,为其添加name、age、color,food
等属性,如“熊猫”,5,“黑白”,66,“竹子”
3.为动物类定义一个run方法,调用run方法时打印相关信息,如打印出“熊
猫正在奔跑”
4.为动物类定义一个get_age方法,调用get_age方法时打印相关信息,如
打印出“这只熊猫今年5岁了”
5.为动物类定义一个eat方法,调用eat方法时打印相关信息,如打印出“熊
猫正在吃竹子”
6.通过动物类分别创建出3只不同种类的动物,分别调用它们的方法,让他
们“跑起来”,“吃起来”
class Animal:
def__init__(self, name, age, color, food):
= name# 为对象设置name属性
= age# 为对象设置age属性
= color# 为对象设置color属性
= food# 为对象设置food属性
# run方法
def run(self):
print("%s正在奔跑..."%
# 打印年龄的方法
def get_age(self):
print("这只%s今年%s"%, str))
# 吃方法
def eat(self):
print("%s正在吃%s"%, )
# 猫
catTom = Animal("Tom", 3, "gray", "fish")
# 老鼠
mouseJerry = Animal("Jerry", 3, "brown", "奶酪")
# 狗
watchdog = Animal("旺财", 2, "white", "meat")
()
()
()
......
额外知识
函数
在学习函数之前,首先要明白为什么要学习函数
学习了函数,能提高我们的工作效率,编程语言里面,离不开函数
提高效率体现在哪里
函数可以封装一段代码,只需要我们定义一次,就可以做到多次使用了.
函数是用来干什么的
每一个函数都有对应的意义,我们定义函数,都是为了实现某种单一的功能,也就是说,函数就是为了实现某种功能,实现某些需求的
9.定义函数
那我们如何定义函数
当我们调用say_hello这个函数的时候,我们能看到这样的一句打印输出,这就说明这个函数被调用了.
任何一个函数,必须要做到先定义(先声明),后调用
如果我们将调用提前,我们会看到:
为什么
因为咱们python是一门解释性语言,代码是从上到下一行一行执行的,所以当代
码运行到第一行的时候,我们调用say_hello()的时候,并没有对应的方法,这就好比:
我们把say_hello()当做一个做饭的功能,我们只有先做饭,才能吃饭,先有做饭这个
功能,我们才能做饭.
10.函数的复用性
下面说一下函数参数的使用,那么,在说参数之前,我们先了解一下函数的复用性,使用函数到底好在哪里
比如我有这么一个需求,我想遍历一个1-100之间所有的数,
这很简单
i = 0
while i <=100:
print i
i+=1
这样我就能获取1-100之间所有的数
我们将这一段代码封装到一个函数里面去,这样我们就很方便的能够在任何地方打印1-100之间所有的数了
面向对象及练习题 1.面向对象 1.1面向对象概念 面向对象是一种编程思想,是对现实世界中的事物进行抽象的方式。应用到代码编程设计中,是一种建立现实世界事物模型的方式。 1.2 面向对象和面向过程区别 面向过程关注的是完成工作的步骤,面向对象关注的是谁能完成工作。 面向对象是在完成工作的时候关注哪些个体能够完成对应的工作,找到对应的个体即可完成对应任务。 2.类 2.1类的概念 类是一系列事物的统称,同类事物必定具有相同的特征。日常事物的特征根据特性分为状态和行为,对应到类中是变量和方法。 特征分类: 状态→变量(成员变量) 行为→方法(成员方法) 统称:类的成员 2.2类定义语法格式 class类名: pass
说明:pass是空语句,不具有任何意义,仅为了保持程序结构完整性 2.3类名的命名规则 类名命名规范:满足大驼峰命名规则 3.对象 3.1对象的概念 对象是类的具体表现形式,是实际存在的个体。(类是一系列事物的统称) 3.2创建对象语法格式 对象名 = 类名() 3.3 注意事项 对象的创建不限制数量,一个类可以创建任意个数的对象 4.成员变量 4.1成员变量的概念 成员变量用于描述对象的固有状态或属性。
4.2定义成员变量语法格式(公有属性/公有变量) class 类名: def __init__(self): self.变量名1 = 值1 self.变量名2 = None 4.3成员变量定义语法格式(独有属性/独有变量) 对象名.变量名 = 值 4.4公有变量与独有变量的区别 ●公有变量在__init__方法中声明,每个对象都具有该变量 ●独有变量在创建对象后声明,只有当前对象具有此变量 ●定义对象的独有变量时,如果独有变量名与公有变量名相同,视为 修改公有变量的值;如果独有变量名与公有变量名不相同,视为定 义新的独有属性 ●None含义是为空,表示没有具体的数据
引言 提到面向对象,总是离不开几个重要的术语:多态(Polymorphism),继承(Inheritance)和封装(Encapsulation)。Python也是一种支持OOP的动态语言,本文将简单阐述Python 对面向对象的支持。 在讨论Python的OOP之前,先看几个OOP术语的定义: ?类:对具有相同数据和方法的一组对象的描述或定义。 ?对象:对象是一个类的实例。 ?实例(instance):一个对象的实例化实现。 ?标识(identity):每个对象的实例都需要一个可以唯一标识这个实例的标记。 ?实例属性(instance attribute):一个对象就是一组属性的集合。 ?实例方法(instance method):所有存取或者更新对象某个实例一条或者多条属性的函数的集合。 ?类属性(classattribute):属于一个类中所有对象的属性,不会只在某个实例上发生变化 ?类方法(classmethod):那些无须特定的对性实例就能够工作的从属于类的函数。 1.Python中的类与对象 Python中定义类的方式比较简单: class类名: 类变量 def __init__(self,paramers): def函数(self,...) 其中直接定义在类体中的变量叫类变量,而在类的方法中定义的变量叫实例变量。类的属性包括成员变量和方法,其中方法的定义和普通函数的定义非常类似,但方法必须以self 作为第一个参数。 举例: class MyFirstTestClass: classSpec="itis a test class" def__init__(self,word): print"say "+word defhello(self,name): print"hello "+name 在Python类中定义的方法通常有三种:实例方法,类方法以及静态方法。这三者之间的区别是实例方法一般都以self作为第一个参数,必须和具体的对象实例进行绑定才能访问,而类方法以cls作为第一个参数,cls表示类本身,定义时使用@classmethod;而静态方法不需要默认的任何参数,跟一般的普通函数类似.定义的时候使用@staticmethod。 class MethodTest(): count= 0
第6章面向对象编程 教案 课程名称:Python编程基础 课程类别:必修 适用专业:大数据技术类相关专业 总学时:48学时(其中理论24学时,实验24学时) 总学分:3.0学分 本章学时:8学时 一、材料清单 (1)《Python编程基础》教材。 (2)配套PPT。 (3)代码。 (4)引导性提问。 (5)探究性问题。 (6)拓展性问题。 二、教学目标与基本要求 1.教学目标 介绍Python面向对象程序设计的发展及其思想,何时及怎样运用面向对象编程;实现了面向对象的核心“类与对象”的创建和使用,并拓展了面向对象常用的功能和方法。 2.基本要求 (1)认识面向对象编程的发展、实例、优点。
(2)了解使用面向对象编程的情形。 (3)掌握类的定义、使用和专有方法。 (4)掌握self参数的使用。 (5)掌握对象的创建(实例化)、删除。 (6)掌握对象的属性、方法引用和私有化方法。 (7)掌握迭代器和生成器。 (8)掌握类的继承、重载、封装等其他方法。 三、问题 1.引导性提问 引导性提问需要教师根据教材内容和学生实际水平,提出问题,启发引导学生去解决问题,提问,从而达到理解、掌握知识,发展各种能力和提高思想觉悟的目的。 (1)用于练习的所有资料都放在您面前了吗?如果不是,缺少哪些? (2)面向对象与面向过程有什么不同? (3)类和对象分别是什么?有什么关系? (4)生成器与迭代器是什么? (5)继承、重载、封装是什么? 2.探究性问题 探究性问题需要教师深入钻研教材的基础上精心设计,提问的角度或者在引导性提问的基础上,从重点、难点问题切入,进行插入式提问。或者是对引导式提问中尚未涉及但在课文中又是重要的问题加以设问。 (1)面向对象编程语言有哪些? (2)为什么要使用面向对象编程? (3)self参数有什么特点? (4)类的专有方法与普通的方法有何不同? (5)对象的创建与调用函数相似吗?
慎用面向对象:开始之前,请阅读《面向对象编程已死》 实际上我并不喜欢面向对象,使用Python以来,我仅仅在wxpython中用过比较多的面向对象。面向对象的设计方式,对我来讲有些繁琐了。 此次教程基本都是网上找来的内容,面向对象的短小的例子一时想不出比较好的。 简介 到目前为止,都是根据操作数据的函数或语句块来设计程序的。这被称为面向过程的编程。还有一种把数据和功能结合起来,用称为对象的东西包裹起来组织程序的方法。 这种方法称为面向对象的编程理念。在大多数时候你可以使用过程性编程,但是有些时候当你想要编写大型程序或是寻求一个更加合适的解决方案的时候,你就得使用面向对象的编程技术。 类和对象是面向对象编程的两个主要方面。类创建一个新类型,而对象这个类的实例。这类似于你有一个int类型的变量,这存储整数的变量是int类的实例(对象)。
注意,即便是整数也被作为对象(属于int类)。这和C++、Java(1.5版之前)把整数纯粹作为类型是不同的。通过help(int)了解更多这个类的详情。C#和Java 1.5程序员会熟悉这个概念,因为它类似与封装与解封装的概念。 对象可以使用普通的属于对象的变量存储数据。属于一个对象或类的变量被称为域。对象也可以使用属于类的函数来具有功能。这样的函数被称为类的方法。这些术语帮助我们把它们与孤立的函数和变量区分开来。域和方法可以合称为类的属性。 域有两种类型——属于每个实例/类的对象或属于类本身。它们分别被称为实例变量和类变量。 类使用class关键字创建。类的域和方法被列在一个缩进块中。 self关键字 类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self。 虽然你可以给这个参数任何名称,但是强烈建议你使用self这个名称——其他名称都是不赞成你使用的。使用一个标准的名称有很多优点——你的程序读者可以迅速识别它,如果使用self的话,还有些IDE(集成开发环境)也可以帮助你。 Python中的self等价于C++中的self指针和Java、C#中的this参考。 这也意味着如果你有一个不需要参数的方法,你还是得给这个方法定义一个self参数。类
p y t h o n面向对象概念 及练习题
面向对象及练习题 1.面向对象 1.1面向对象概念 面向对象是一种编程思想,是对现实世界中的事物进行抽象的方式。应用到代码编程设计中,是一种建立现实世界事物模型的方式。 1.2 面向对象和面向过程区别 面向过程关注的是完成工作的步骤,面向对象关注的是谁能完成工作。 面向对象是在完成工作的时候关注哪些个体能够完成对应的工作,找到对应的个体即可完成对应任务。 2.类 2.1类的概念 类是一系列事物的统称,同类事物必定具有相同的特征。日常事物的特征根据特性分为状态和行为,对应到类中是变量和方法。 特征分类: 状态→变量(成员变量) 行为→方法(成员方法) 统称:类的成员
2.2类定义语法格式 class类名: pass 说明:pass是空语句,不具有任何意义,仅为了保持程序结构完整性 2.3类名的命名规则 类名命名规范:满足大驼峰命名规则 3.对象 3.1对象的概念 对象是类的具体表现形式,是实际存在的个体。(类是一系列事物的统称) 3.2创建对象语法格式 对象名 = 类名()
3.3 注意事项 对象的创建不限制数量,一个类可以创建任意个数的对象4.成员变量 4.1成员变量的概念 成员变量用于描述对象的固有状态或属性。 4.2定义成员变量语法格式(公有属性/公有变量) class 类名: def __init__(self): self.变量名1 = 值1 self.变量名2 = None 4.3成员变量定义语法格式(独有属性/独有变量) 对象名.变量名 = 值
4.4公有变量与独有变量的区别 ●公有变量在__init__方法中声明,每个对象都具有该变量 ●独有变量在创建对象后声明,只有当前对象具有此变量 ●定义对象的独有变量时,如果独有变量名与公有变量名相同,视为 修改公有变量的值;如果独有变量名与公有变量名不相同,视为定 义新的独有属性 ●None含义是为空,表示没有具体的数据 4.5变量的调用格式 取值:对象名.变量名 赋值:对象名.变量名 = 值 5.成员方法 5.1成员方法概念 成员方法用于描述对象的固有行为 5.2定义成员方法语法格式 格式一(无参方法):
Python 面向对象 Python从设计之初就已经是一门面向对象的 语言,正因为如此,在Python中创建一个类 和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一 些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习Python的面向对象编程。 接下来我们先来简单的了解下面向对象的一 些基本特征。 面向对象技术简介 ?类(Class): 用来描述具有相同的属性和方法的 对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 ?类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
?数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。 ?方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。 ?实例变量:定义在方法中的变量,只作用于当前实例的类。 ?继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。 ?实例化:创建一个类的实例,类的具体对象。 ?方法:类中定义的函数。 ?对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。 创建类 使用class语句来创建一个新类,class之后为类的名称并以冒号结尾,如下实例:
Python面向对象程序设计 Python编程课程教师:工作:Python面向对象编程课程描述面向对象编程是Python采用的基本编程思想。它可以集成属性和代码来定义类,从而使编程更简单。 本章介绍如何在Python中使用类和对象。 本章介绍了面向对象编程的基本定义以及类类的继承和多态性的使用。面向对象编程的基本概念概述了面向对象编程的基本概念。面向对象编程的基本概念概述了面向对象编程的基本概念。面向对象编程可以将一组数据和与这组数据相关的操作结合起来形成一个实体。这个实体是一个对象。 ()类:具有相同或相似属性的对象的抽象是一个类。 因此,对象的抽象是类的具体化,类就是对象。 例如,如果人类是一个类,那么特定的人就是一个对象。 ()封装:绑定数据和操作来定义新类的过程就是封装。 ()继承:一个类共享一个或多个其他类定义的结构和行为的类之间的关系。 继承描述了类之间的关系。 子类可以扩展基类的行为、覆盖、重定义。 如果人类是一个阶级,那么人类的子类就可以被定义。 男性可以继承人类的属性(例如,姓名、身高、年龄等)。)和方法(即动作)。 例如,吃饭和走路)不需要在子类中重复定义。
从同一个类继承的子类也有多态性,也就是说,同一个函数名在不同的子类中有不同的实现。 正如儿童从父母那里继承了人类的共同特征一样,儿童也有自己的特征。 ()方法:也称为成员函数,是指对定义为类声明一部分的对象的操作。 方法定义了可以在对象上执行的操作。 ()构造函数:创建对象时初始化对象的成员函数。 构造函数通常与其所属的类具有完全相同的名称。 ()析构函数:析构函数与构造函数相反。当对象超出其范围时(例如,对象所在的函数已被调用),系统自动执行析构函数。 析构函数经常被用来清理混乱。 定义和使用类声明类静态变量静态方法类方法使用实例()函数判断对象类型声明类定义一个函数sum()来计算和打印两个参数的和。 函数sum()包含两个参数。 参数num和num代码如下:defsum(num,num):print(numnumnum num)面向对象编程中的基本概念()对象:面向对象编程思想可以将一组数据和与这组数据相关的操作集合起来形成一个实体,这就是对象。 ()类:具有相同或相似属性的对象的抽象是一个类。 因此,对象的抽象是类的具体化,类就是对象。