python 入坑路 面向对象

面向对象编程

object-oriented programming  简称为OOP ,相对的还有面向过程编程。

面向对象的好处:1,维护容易。2,效率高。3,他人容易理解你的逻辑,便于团队开发

下面从人够大战的例子,来说明这几个优点

#如果你在开发一款人狗大战的游戏,需要创建若干个角色及功能
在面向对象中,通过函数,

def  persong():

    data={
        "name":name
        "age":age
         "sex":sex
        }

def dog():
    data={
        "name":name
        "sex":sex                      
}


#定义角色功能

def  run():
    pass

def  bite():
    pass

def  boxing():
    pass

#这样容易出现混乱,因为 有可能狗也会错误调用到 boxing 拳击函数。
#人会错误调用到,bite 咬的函数,但是始终咬不过狗。
#现在就面临这 把一类函数归类,封装起来,只允许特许的对象调用,
#下面让我们来聊一聊类

  类 class

类:对一类相同属性的对象的抽象,蓝图,原型,在类中定义了这些对象都具有的属性,共同的方法。

就比如,我们把狗的功能函数归类,封装成一个类,只允许狗的对象才能调用。

  对象 object

对象:一个对象即是一个类的实例化后的实例

一个类必须经过实例化后,才能在程序中调用,

一个类可以实例化多个对象

每个对象可以有自己的属性。有共性,亦有差异

例子

例子:人类,是一个很抽象的概率,泛指地球上一种两只眼睛,一个鼻子,一张嘴巴,两只耳朵。。。站着行走。。。的这么一种生物。

人类又包含了,黄种人,黑人,白人。(其它相同,不同点:用皮肤颜色来区分)

这些都是很泛指的概率,让你摸不着。下面我们就把这些类实例化,就比如我们的讲课老师,活生生的站在我们面前,这就是一个对象,就是实例化。

可以摸得着,对人类的一个实例化,有着人类的共有特性。

类的一些特性,封装、继承、多态

封装

在类中对数据的赋值,内部调用对外部透明,这使得类变成胶囊或着容器,里面包含着类和类的数据和方法。

封装的好处:

1,保证数据不被随意修改。

2,使外部程序不需要关注,对象内部的构造,只需要通过此对象对外提供的接口进行直接访问

继承

一个类可以派生出子类,就想例子中说到的,人类 是一个父类,黄种人,黑人,白人,是人类的子类。

子类,自动继承了父类里定义的属性(一个鼻子,两只眼睛,两只耳朵。。。)

方法自动被子类继承,(会跑,会跳,吃饭,唱歌。。。)

继承的好处:

通过父类--子类 以最少的代码量实现不同角色的共同属性的同时存在。

多态

1.面向对象的重要特性。

2,.一个接口,多种实现,一张嘴巴可以说多种语言。

一个父类(基类)派生出来了不同的子类,而且每个子类在继承了同样的方法名的同时又对父类的方法做了不同的实现,

这就是一种是事物表现出来多种形态。 人都会说话,但是不同地方的人说的不同的方言。

 

 编程其实就是一种将世界抽象化的过程。

多态就是抽象化的一种体现。把一系列集体事物的共同点抽象出来,再通过这个抽象的事物与不同的事物进行对话。

 

 

posted @ 2018-01-30 14:31  东郭仔  阅读(136)  评论(0)    收藏  举报