python面向对象

Python 是一门面向对象的语言,所以创建一个类和对象时很容易的

1.创建类

     

2.python的类同样满足面对对象的3个特征

    1)封装:将内容封装到某处,从某处调用被封装的内容

        调用被封装的内容,可以直接通过对象条用或者通过self间接调用

间接调用,执行类的方法时,通过self调用类中的自身方法

class Foo:

  def __init__(self, name, age):
    self.name = name
    self.age = age
  
  def detail(self):
    print(self.name)
    print(self.age)
  
obj1 = Foo('chengd', 18)
obj1.detail()  # Python默认会将obj1传给self参数,即:obj1.detail(obj1),所以,此时方法内部的 self = obj1,即:self.name 是 chengd ;self.age 是 18
  
obj2 = Foo('python', 99)
obj2.detail()  # Python默认会将obj2传给self参数,即:obj1.detail(obj2),所以,此时方法内部的 self = obj2,即:self.name 是 python ; self.age 是 99x

    2)继承:子类继承父类的内容,不过不同于java和c#智能继承一个类,python中可以继承多个类,如果继承了多个类,其寻找方法有两种:深度优先和广度优先,当类时经典类(class C1)时,会按照深度有限方式查找,当时新式类(class N1(object),创建类的时候继承object)时,按照广度优先查找

经典类:首先去A类中查找,如果A类中没有,则继续去B类中找,如果B类中么有,则继续去D类中找,如果D类中么有,则继续去C类中找,如果还是未找到,则报错

新式类:首先去A类中查找,如果A类中没有,则继续去B类中找,如果B类中么有,则继续去C类中找,如果C类中么有,则继续去D类中找,如果还是未找到,则报错

注意:在上述查找过程中,一旦找到,则寻找过程立即中断,便不会再继续找了


    3)多态:python不同java和c#这一类强类型语言中的多肽写法,但是原生多态,崇尚鸭子类型



转自 

 转载地址:http://www.cnblogs.com/wupeiqi/p/4493506.html



    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值