Python 类的封装与继承

类的封装

封装的理解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#私有类属性:仅供当前类访问的类属性,子类亦不能访问
class <类名>:
	<私有类属性名> = <类属性初值>
	def __init__(self, <参数>):
		...
#区别:私有类属性需要有两个下划线

在这里插入图片描述

#私有类属性的公开与私有 举个栗子
class DemoClass:
	__count == 0
	def __init__(self, name):
		self.name = name
		DemoClass.__count += 1 #私有属性能在类内部被调用
	
	@classmethod
	def getCount(cls):
		retuen DemoClass.__count #类方法

dc1 = DemoClass("老王")
dc2 = DemoClass("老李")
print(DemoClass.getCount())
#私有变量的优势:只能通过特定的方法去访问,可以在访问函数中设置访问条件以及访问次数统计、控制,从而有效保护变量
#私有实例属性:仅供当前类内部访问的实例属性,子类亦不能访问
class <类名>def __init__(self, <参数>):
		self.<__实例属性名> = <实例属性初值>
	...
#同样可以设置return函数返回
#ps.可用dc1(实例名)._DemoClass(类名)__name(私有变量)来访问私有变量,即私有变量不一定真的私有

类的保留属性

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

类的保留方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类的继承

继承的理解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类继承的构建

#类继承的构建
class <类名>(<基类名>)def __init__(self, <参数>):
		<语句>
	...		

在这里插入图片描述
在这里插入图片描述

python 最基础类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类的属性重载

在这里插入图片描述
在这里插入图片描述
重载无需标记

类的方法重载

在这里插入图片描述

# 增量重载:使用super()方法
class <派生类>(<基类名>):
	def <方法名>(self, <参数>):
		super.<基类方法名><参数>...

类的多继承

class <类名><基类名>, <基类名>, <基类名>, ...):
	def __init__(self. <参数>)<语句块>
	...

在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述
以上内容源自嵩天老师《python面向对象精讲》,为随堂笔记截图整理,方便复习

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python是一门面向对象的编程语言,它支持封装继承和多态。 封装是指将数据和行为封装在一个中,对外部隐藏实现细节,只保留接口。Python通过使用双下划线“__”来实现的私有属性和方法。 继承是指一个子可以继承的属性和方法,并且可以自己添加新的属性和方法。Python中使用名后面的括号指定父,子会自动继承的所有属性和方法。 多态是指同一个方法在不同的子中具有不同的实现方式。Python中的多态是通过方法重写(覆盖)实现的。子可以重写父的方法,并且可以在子中调用父的同名方法。 下面是一个简单的Python的示例,展示了封装继承和多态的用法: ```python # 定义一个Animal class Animal: def __init__(self, name): self.name = name def speak(self): pass # 定义一个Dog继承Animal class Dog(Animal): def speak(self): return "Woof!" # 定义一个Cat继承Animal class Cat(Animal): def speak(self): return "Meow!" # 创建一个Dog对象和一个Cat对象 dog = Dog("Rufus") cat = Cat("Fluffy") # 调用它们的speak()方法,输出不同的结果 print(dog.speak()) # 输出:Woof! print(cat.speak()) # 输出:Meow! ``` 在这个示例中,Animal封装了一个名称属性和一个空的speak()方法,子Dog和Cat继承了Animal,并重写了speak()方法以实现多态。最后创建了一个Dog对象和一个Cat对象,分别调用它们的speak()方法,输出不同的结果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值