python自学2

私有方法,私有属性

都是在定义名字时在名字前加两个“下划线”

私有方法

class dog:
      #私有方法
      def __sendmsg(self):
          print('发短信')
      #公有方法
      def sendmsg(self):
          print('发发发')

公私方法的区别:在添加对象之后,外部只能调用公有方法而不能调用私有方法

→具体应用:付费短信

class dog:
      #私有方法
      def __sendmsg(self):
          print('发短信')
      #公有方法
      def sendmsg(self,money):
          if money>10:
             self.__sendmsg()
          else:
             print('发你个头,没钱了穷鬼')

即私有方法只能由类的内部方法使用

昨天的继承中,私有方法与私有属性并不会被继承,即父类的私有方法与私有属性不能被子类主动调用
(即父类的小秘密,子类不能知道)

!!!注意!!!
但如果父类的某个公有方法中有调用自己的私有方法,子类继承的时候调用那个公有方法的时候是允许使用的

class a:
      def __init__(self):
          self.num1=1
          self.__num2=2
      def __test1(self):
          pass
      #可被子类继承且使用
      def test2(self):
          self.__test1()
          print(self.__num2)
class b(a):
      def test3(self):
          #错误,调用的话会崩
          self.__test1()
          print(self.__num2)        

多继承

之前的继承都是单继承
多继承即

class ma:
      def aaa(self):
          pass
class lv:
      def bbb(self):
          pass
class luozi(ma,lv):
      pass                

即骡子继承了马和驴的功能

多继承注意点:
调用一个方法的时候,(如果有方法名相同时)搜索方法在哪个类的 顺序路径为——子类→父类1→父类2→父类3→。。。→父类的父类(以此类推)
如果非要用特定的类中的方法(即按以上顺序顺位不到),参考昨天单继承中的“调用被重写的原方法”

python三要素:封装,继承,多态

多态——即在程序执行的时候才确定要做什么

今天断网了= =,明天看多些
2020/1/22/9:50

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值