• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

游客您好
第三方账号登陆
  • 点击联系客服

    在线时间:8:00-16:00

    客服电话

    400-123-4567

    电子邮件

    1691000615@qq.com
  • 星点互联APP

    随时掌握企业动态

  • 扫描二维码

    关注星点微信公众号

Python面向对象基础

瓦力老师-本文作者
199 0 2019-1-11 22:29
摘要

一、OOPoop就是代码的重用,通过分解代码,最小化代码的冗余以及对现存的代码进行定制来编写程序;OOP模型中有两种对象,类对象和实例对象。类对象提供默认行为,是生产实例对象的工厂;类对象和实例对象都有各自命 ...

一、OOP

oop就是代码的重用,通过分解代码,最小化代码的冗余以及对现存的代码进行定制来编写程序;OOP模型中有两种对象,类对象和实例对象。类对象提供默认行为,是生产实例对象的工厂;类对象和实例对象都有各自命名空间。

二、python类的主要特性

class语句创建类对象并将其赋值给变量名class语句内的顶层赋值语句会创建类的属性
• 类属性提供对象的状态和行为

三、python实例对象的主要特性

• 每次类调用时,都会创建并返回新的实例对象
• 每个实例对象继承类的属性并获得了自己的命名空间
• 每个实例对象通过构造方法获得每个实例自己的属性

四、创建类和实例对象-类的封装

封装,是将对象的数据与操作数据的方法相结合,通过方法将对象的数据与实现细节保护起来,就称为封装。外界只能通过对象的方法访问对象,因此封装同时也实现了对象的数据隐藏

class Person():
#类的属性--静态属性
country="China"

#封装--初始化方法
def __init__(self,*args):
    self.name=args[0]
    self.age=args[1]
    self.aggr=args[2]
    self.sex=args[3]

#方法
def walk(self,n):
    print("%szoule%sbu"%(self.name,n))

#调用类创建实例对象,自动执行构造方法__init__
jonny=Person('jonny',11,23,'man')

#实例对象调用类的方法
jonny.walk(10)

#实例对象调用类的属性
print(jonny.country)

五、类的继承

单继承

类可以通过继承进行定制;类的继承丰富了软件的层级,在层级较低的地方覆盖现有的属性,让其行为特定化。
在python中,实例对象从类中继承,而类继承于超类
• 超类写在类开头的括号中
• 类从其超类中继承属性
• 实例会继承所有可读取类的属性
• 每次实例对象的属性调用都会进行类树搜索
• 逻辑的修改是通过创建子类,而不是修改超类

#创建父类---经典类
class a():
    a1="11"
#创建子类,继承父类a
class b(a):
    b1="22"
#调用父类的属性
print(b.a1)

以上的例子中父类是经典类,因为父类未继承object类;继承object类的父类是新式类

#创建父类---新式类
class a(object):
    a1="11"
#创建子类,继承父类a
class b(a):
    b1="22"
#调用父类的属性
print(b.a1)

在继承中,父类是经典类那么子类就是经典类;父类是新式类,子类就是新式类

多继承

python支持继承多个类,那么在继承父类的属性和方法时改怎么找呢?

class D(object):

    def display(self):
        print('D.display')

class C(D):

    def display(self):
        print('C.display')

class B(D):

    def display(self):
        print('B.display')

class A(B,C):

    def display(self):
        print('A.display')

a=A()
a.display()

执行display方法时,查找顺序为 A--B--C--D

Python面向对象基础

六、类的多态

类的多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容的函数。

class Person():
def display(self):
    pass

class Man(Person):
    def display(self):
        print("man")

class Woman(Person):
    def display(self):
        print("woman")

def func(obj):
    obj.display()

#实例化对象
man1=Man()
woman1=Woman()

#多态
func(man1)
func(woman1)
1

鲜花

握手

雷人

路过

鸡蛋
本文暂无评论,快来抢沙发!

微信关注“星点教育培训”每天分享有用的课程资源
阅读排行
Powered by Discuz!X3.5 ©2001-2013 Comsenz Inc.星点互联设计( 鲁ICP(125234543) )