zoukankan      html  css  js  c++  java
  • python之三大特性

    1、python的三大特性:继承、多态、封装

    2、python 没有接口这个概念,接口类,抽象类: 归一化设计.

                    制定一个规范:凡是继承我类的类,必须有我规定的方法.

    from abc import ABCMeta,abstractmethod
     
     
    class Payment(metaclass=ABCMeta):  # 抽象类(接口类):
        @abstractmethod
        def pay(self): pass  # 制定了一个规范
        @abstractmethod
        def func(self):pass
     
     
    class Alipay(Payment):
        def __init__(self,money):
            self.money = money
     
        def pay(self):
            print('使用支付宝支付了%s' %self.money)
     
     
    class Jdpay(Payment):
        def __init__(self, money):
            self.money = money
     
        def pay(self):
            print('使用京东支付了%s' % self.money)
     
    class Wechatpay(Payment):
     
        def __init__(self,money):
            self.money = money
     
        def pay(self):
            print('使用微信支付了%s' % self.money)
     
     
    def pay(obj):
        obj.pay()
    w1 = Wechatpay(200)
    a1 = Alipay(200)
    j1 = Jdpay(100)
    pay(a1)  # 归一化设计
    pay(j1)
     
    w1 = Wechatpay(300)
    w1.weixinpay()

    3、多态

    多态: python处处是多态.
    java :强类型语言

    python:弱类型语言

    name = 'alex'

    python 不管什么类型,传入函数,封装到对象中都可以

    python没有多态?python处处是多态,而且他有鸭子类型.
    鸭子类型 : 看着像鸭子,其实就是鸭子

    class Str:
        def index(self):
            pass
    
    class List:
        def index(self):
            pass
    
    class Tuple:
        def index(self):
            pass

    4、封装

    广义封装:实例化一个对象,给对象空间封装一些属性.

    狭义封装:私有制

    私有成员:私有静态字段、静态方法和私有对象属性

         对私有成员内的内部可以访问,外部和派生类不可以访问

         对于私有成员来说,只能在本类中内部访问,类的外部,派生类均不可访问.

    class Parent:
        def __func(self):
            print('in Parent func')
     
        def __init__(self):
            self.__func()
     
    class Son(Parent):
        def __func(self):
            print('in Son func')
     
    son1 = Son()
    输出结果是:in Parent func
  • 相关阅读:
    如何解决MathPage.wll或MathType.dll文件找不到问题
    2-构建模型
    R语言 ur.df函数(2)
    平稳过程趋势项变点的 CUSUV 检验 秦瑞兵,郭娟
    时间序列的弱相依与强相依
    Cent OS|使用httpd发布网页
    C++练习 | 基于栈的中缀算术表达式求值(double类型
    C++练习 | 不使用头插法逆转单链表
    C++练习 | 单链表的创建与输出(结构体格式)
    C++练习 | 最长公共字符串(DP)
  • 原文地址:https://www.cnblogs.com/zyh19980816/p/14800434.html
Copyright © 2011-2022 走看看