Python中的权限控制

本文详细介绍了面向对象编程中的三大特性:封装、继承和多态。通过实例讲解了如何使用封装控制属性权限,以及如何通过继承和多态实现代码复用和灵活性。
摘要由CSDN通过智能技术生成

面向对象的三大特征:

1.封装:隐藏内部细节,对外提供操作方式。

权限控制:是通过对属性或方法添加单下划线、双下划线以及首尾下划线来实现

单下划线开头:以单下划线开头的属性或方法表示protected受保护的成员,这类成员仅供内部使用,允许类本身和子类进行访问,但实际上它可以被外部代码访问。

双下划线开头:表现private私有的成员,这类成员只允许定义该属性或方法的类本身进行访问

首尾双下划线:一般表示特殊的方法

2.继承:是在函数调用时,使用“形参名称=值”的方式进行传参,传递参数顺序可以与定义时参数的顺序不同。

3.多态:是在函数定义时,直接对形式参数进行赋值,在调用时如果该参数不传值,将使用默认值,如果该参数传值,则使用传递的值。

class Student():
    #首尾双下划线
    def __init__(self,name,age,gender):
        self._name=name#self._name受保护的,只能本类和子类访问
        self.__age=age#self.__age表示私有的,只能类本身去访问
        self.gender=gender#普通的示例属性,类的内部,外部,及子类都可以去访问
    def _fun1(self):#受保护的
        print('子类及本身都可以访问')
    def __fun2(self):#私有的
        print('只有定义的类可以访问')
    def show(self):#普通的示例方法
        self._fun1()
        self.__fun2()
        print(self._name)
        print(self.__age)
#创建一个学生类的对象
stu=Student('dsg',19,'男')
#类的外部
print(stu._name)
# print(stu.__age)
#调用受保护的实例方法
stu._fun1()
#私有方法
# stu.__fun2()
print(stu._Student__age)
stu._Student__fun2()
print(dir(stu))

 

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式成长之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值