python之面向对象原来如此简单

  • 定义
    面向对象是一种编程思想,面向对象的核心不在于解决问题的过程和步骤,而是将参与解决
    问题的事物对象抽离出来,重点关注这些对象的行为,通过行为的调用完成整个业务操作。

  • 优势
    对象的复用性,功能的扩展性

  • 专业术语

(1)对象(object)
对象就是生活中客观存在的实际物体,也被称为实体,实体对象,实例,实例对象。

(2) 类 (class)
【1】类其实就是类型的简称,描述的是不同的数据类型,类是对象的模板,对象是类的实体。
【2】类的声明:

class 类型名称:
	 “””类型的文档注释”””
	 def __init__(self):
		# 声明属性特征(变量)的地方
		pass
	def 方法名称(self):
		# 定义对象的行为
		pass

① 类型名称:标识符(字母、数字、下划线组成,数字不能开头)
帕斯卡命名法(大驼峰命名法):一个或者多个单词组成,每个单词首字母大写
② 属性特征:就是一个变量,必须和 self 一起使用;
遵循变量的命名规则[见名知意、下划线命名法] ③ 方法行为:就是一个函数,遵循函数的命名规则[见名知意、下划线命名法]

class Student:
	 “””学生”””
	 def __init__(self, name):
		self.name = name
	def study(self):
		# 定义对象的行为
		print(f"{self.name}正在学习")

# 创建对象
dujie = Student("渡劫")
# 调用对象属性
print(dujie.name)
# 调用对象方法
dujie.student()

(3) 属性(attribute)
【1】生活中的实体物体,都是包含自己的特征的,如人包含姓名、性别、年龄、肤色特征(名词),属性就是对象的特征(名词)。
【2】类属性:
属于类型的特征,能被当前类型的所有对象访问,但是不允许通过对象修改
① 类属性可以被类型名称直接访问,可以被当前类型的所有对象访问
② 类属性只能被类型名称修改
③ 类属性不能被对象修改
位置:声明在类型的内部,方法的外部
规范:类属性也是属性,也是一个变量,遵循变量的命名规范

class Person:
	max_age = 120
	
	def __init__(self, name, age):
		self.name = name
		self.age = age

# 访问
print(Person.max_age)
print(xinghen.max_age)
print(dujie.max_age)
# 修改
Person.max_age = 150
# 属性扩展
xinghen = ("星痕", 20)
xinghen.gender = "女"

(4) 方法(method)
生活中的实体物体,都是包含具体的行为的,方法就是对象的行为(动词)。

案例操作:

class Person:
"""人的类型"""
	def __init__(self, name, gender, age):
		"""属性初始化"""
		self.name = name
		self.age = age
		self.gender = gender

	def driver(self, car, area):
		"""开车,驾驶的行为"""
		# 开车:人的行为
		print(f"{self.name}准备出发")
		# 车:发动出发
		car.run(area)


class Vehicle:
"""交通工具"""
	def __init__(self, brand, color):
		self.brand = brand
		self.color = color
	def run(self, area):
		"""车行驶到某个地方的行为"""
		print(f"{self.color}的{self.brand}发动了,准备去{area.name}")


class Area:
	"""地点"""
	def __init__(self, name, info):
		self.name = name
		self.info = info
# 需要参与的对象
old_zhang = Person("老张", "男", 68)
luhu = Vehicle("路虎", "黑色")
 dong_bei = Area("东北", "那块黑土地...")

 old_zhang.driver(luhu, dong_bei)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值