python之三大特性

Posted 迪迦奥特曼1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于python之三大特性的主要内容,如果未能解决你的问题,请参考以下文章

19.Python面向对象之:三大特性:继承,封装,多态。

Python 入门 之 面向对象的三大特性(封装 / 继承 / 多态)

python面向对象三大特性之继承多态

Python之面向对象继承详解以及面向对象三大特性

python之三大特性

面向对象之:三大特性:继承(已讲),封装,多态