面向对象

一、类和实例

类(class): 类是用来描述具有相同的属性和方法的集合,它定义了该集合中每个对象所共有的属性和方法,对象是类的实例化。
对象: 通过类定义的数据结构进行实例化,对象包括两个数据成员(类变量和实例变量)和方法
类变量: 类变量在整个实例化的对象中是公用的,类变量是定义在函数体之外的。类变量通常不作为实例变量使用
实例变量: 定义在方法中的变量,只作用于当前实例
什么是类?什么是对象?
类是一个模板,是一类事务的抽象,包含不同的属性和方法
对象是类的具体化,类和对象的关系就像人和某一个具体的人的关系一样

#创建类
class Person(object):
	# 初始化方法及构造函数
	def __init__(self, name):
		self.name = name
		pass
	# 类中的方法
	def walk(self):
		pass

# 根据类创建对象
wangwu = Person('王五')

ptyon中类的命名通常用大驼峰来命名,
函数则是使用下划线来进行命名
构造函数: 构造函数,是一种特殊的方法。主要是用来创建对象的时候初始化对象的,就是为对象的成员变量赋予初始值

面向对象的三大特征

面向对象的三大特征指的分别是:继承、封装和多态。

  • 封装
    封装指的就是把类固有的属性放到一个统一的地方,便于事项模块化的编程,使得结构更加清晰。
class Preson(object):
	# 构造函数,记录人的基本的属性
	def __init__(self, name, age):
		self.name = name
		self.age = age
		pass
	def walk(self):
		# 人的行为,行走
		print(f'{self.name}在行走')
		pass
	pass

# 实例化一个具体的人
wangwu = Preson('王五', 18)
print(wangwu.name)
wangwu.walk()

# 输出:
# 王五
# 王五在行走

其实封装就把某一类的属性和行为封装成一个整体,再通过整体具体出个体

  • 继承
    继承,就是相当于父亲的东西儿子可以拥有,如人可以在分为成年人、老年人和未成年人,虽然他们都继承人,但他们却又不同的行为。
class Preson(object):
	# 构造函数,记录人的基本的属性
	def __init__(self, name, age):
		self.name = name
		self.age = age
		pass
	def walk(self):
		# 人的行为,行走
		print(f'{self.name}在行走')
		pass
	pass
class AdultPreson(Preson):
	# 成年人继承于人类
	def work(self):
		# 成年人的行为,工作
		print(f'{self.name}在工作')
		pass
	pass
class YoungPreson(Preson):
	# 未成年人继承于人类
	def learn(self):
		# 未成年人的行为,学校学习
		print(f'{self.name}在学习')
		pass	
	pass
# 实例化一个具体的成年人
wangwu = AdultPreson('王五', 28)
print(wangwu.name)  # 继承父类的属性
wangwu.walk()  # 继承父类的方法
wangwu.work()  # 自己的方法
# 输出:
# 王五
# 王五在行走
# 王五在工作
  • 多态
    python因为不是一种强类型语言,所以python并不支持多态,而且pyhton
    崇尚‘鸭子类型’,因为python的变量实在根据所赋予的值进行判断类型的,所以python本身就是多态的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值