一般编程可分为面向过程编程,和面向对象编程。python的面向对象编程,与java的面向对象很像。之所以需要面向对象编程,是为了更好地实现封装、继承、多态。
为了更加清晰地介绍python的面向对象编程,以简单的代码作为案例,在案例中阐释python的面向对象编程。
实验环境:linux/windows+python3
1、定义类对象
# 类以关键字class开头# 类名首字母都大写class classname: # 构造函数,定义实例的属性 # 构造函数的名称固定,后面可以跟任意个数参数,但第一个参数是默认的self def __init__(self, name, age): self.name = name self.age = age# 创建实例对象,__init__将被调用person = classname(name, 100)# 获取对象的值print(person.name)执行该程序,将会打印
2、定义类函数
# 类以关键字class开头# 类名首字母都大写class classname: # 构造函数,定义实例的属性 # 构造函数的名称固定,后面可以跟任意个数参数,但第一个参数是默认的self def __init__(self, name, age): self.name = name self.age = age # 与普通函数定义类似,但第一个参数默认为self def functionname(self, age): print(self.name + :, age) print(self.name + :, self.age)# 创建实例对象,__init__将被调用person = classname(name, 100)# 获取对象的值print(person.name)# 调用类函数person.functionname(10)执行该程序,将会打印
3、继承父类
# 子类继承父类,后面加一个圆括号,里面放父类名称class student(classname): # 子类也需要构造方法 def __init__(self, name, age, claroom): # 继承父类的构造方法 super().__init__(name, age) self.claroom = claroom def read(self, book): print(book name is , book)# 创建一个子类对象student = student(zhangsan, 20, 201)# 获取子类的名称print(student.name)# 利用父类方法打印信息student.functionname(30)# 打印子类独有的信息student.read(the c programming)执行该程序,将会打印
4、多态
class teacher(classname): # 子类也需要构造方法 def __init__(self, name, age, claroom): # 继承父类的构造方法 super().__init__(name, age) self.claroom = claroom # 定义的方法名称与student相同,但是功能不同 def read(self, book): print(the reference book is , book)teacher = teacher(lisi, 40, t301)print(teacher.age)teacher.functionname(35)teacher.read(the c programming)程序打印
虽然都调用了read方法,但是两者实例对象不同,所执行的功能不同,这就是多态的妙处。
案例代码没有给出非常详细的解释,刨除了很多语法细节,可以作为一个快速掌握python面向对象编程的笔记查阅。
HAHN集团从美国Rethink公司收购相关机器人技术
ICT及ICT测试原理
FPGA拆解FPGA芯片,带你深入了解其原理
生物神经元和M-P神经元模型简介
罗技UEWonderboom蓝牙音箱评测 运动场上好伴侣
Python的面向对象编程详解
2021年1月份动力电池月度数据公布
村田薄型及大容量470µF电容器介绍
工厂智能化 工业以太网成突破要点
这个物联网处理器号称全世界体型最小
中兴通讯“造车”专利曝光
以基于物联网的数字化技术创新驱动数字化转型
全球智能手机市场调研最新报告:苹果重回第一,华为滑至第五
浅谈千元机和3000元档位的五点差距
电力监控系统在配电房中的应用
方向控制中舵机值及限幅
恩智浦CMusIC高质量汽车音响 CD/MP3系统解方案
荣耀9什么时候上市?荣耀9最新消息:从配置上看,荣耀9更像是廉价版的华为P10!
5G来了,WiFi将成为历史?
股价冲上高位的小米集团,这几天仿佛有些水逆