面向对象

今天给你们介绍一下什么是面向对象。python

咱们都知道python是面向对象的程序设计,那什么是面向对象?ide

面向对象的程序设计的核心是对象。简单的理解对象的话,就是把本身看成上帝,上帝眼里世间存在的万物都是对象,不存在的也能够本身创造。函数

无论是面向对象仍是面向过程,都有本身的优势,面向对象的优势是解决了程序的扩展性,对某一个对象的单独修改会马上反映导整个体系中,例如对游戏中一我的物参数的特征和技能修改都很容易(由于你是上帝,你想怎么改就怎么改)spa

咱们先来了解python中的类和对象设计

  • 类:具备相同特征的一类事物(人,猫,狗)

    写法:class 类名:3d

         属性对象

         方法blog

   类的命名: 首字母大写,以大小写分割单词,不使用下划线。继承

   定义一个类(以下图):游戏

  

   

 

 

  • 对象:具体的某一事物(张三,楼下小黑)

      万物皆对象

  属性:用来描述操做对象,属性名首字母小写,以大写字母分割单词

  建立对象属性(以下图):

  

而后来了解面向对象的三大特征:

  • 继承

     ----单继承

     ----多继承

  • 封装
  • 多态

 1.继承:是一种建立新类的方式,在python中,新建的类能够继承一个或多个父类,父类有称为基类或超类,新建的类称为子类或派生类

python中的继承分为单继承和多继承(以下图):

 

查看继承:

SubClass1.__bases__    ----------------__base__只查看从到右继承的第一个子类,__bases__查看全部继承的父类

注意:若是没有指定父类,python的类会默认继承object类,object是全部python的父类,它提供了一些常见的方法(如__str__)的实现。

 

2.封装

python的三种封装写法:

  • 常规写法:

    属性私有 _属性名称

  • 调用全局函数property,将set和get传递过去:

    对象.属性名称

 

 

 

  • 使用annotation(注释)property;来二次封装(注意:此处存在一个伪重载):

函数的重载(overload):

  • 函数名称相同,参数的个数或类型不一样

    注:python没有函数重载,由于python是弱数据类型语言

函数的重写/覆盖(override):

  • 是指面向对象的继承中,子类继承了父类的方法,可是不知足子类的需求,从而从新覆盖父类的现象

 

3.多态

  • 父类引用指向子类实例的现象,叫作多态

     注意:python 是弱数据语言,弱数据类型语言天生支持多态

相关文章
相关标签/搜索