威尼斯wns.9778官网活动_vnsc威尼斯城官网

热门关键词: 威尼斯wns.9778官网活动,vnsc威尼斯城官网
当前位置:威尼斯wns.9778官网活动 > 计算机教程 > 威尼斯wns.9778官网活动python--7、面向对象

威尼斯wns.9778官网活动python--7、面向对象

文章作者:计算机教程 上传时间:2019-05-10

面向对象学习目录

什么是面向对象

对象,即抽象的一类事物中的某个具体的个体。这个世界中存在的一切皆为对象,不存在的也能创建出来。

1 面向对象介绍

较之面向过程的区别:

  • 编程的复杂度远高于面向过程,不了解面向对象而立即上手基于它设计程序,极容易出现过度设计的问题。扩展性要求低的程序更适合用面向过程。
  • 无法向面向过程的程序设计流水线式的可以很精准的预测问题的处理流程与结果,面向对象的程序一旦开始就由对象之间的交互解决问题,无法准确地预测最终结果。

2 类、实例、属性、方法详解

应用场景:

需求经常变化的软件,一般需求的变化都是集中在用户层的。

3 面向过程与面向对象进一步比较

类与对象

类,即类别。对象是特征与能力的结合体,而类则是一系列对象相似的特征与技能的结合体。
在程序中,一定是先有类,再有对象。
定义类的依据:

4 类与对象

类中的属性

  • 数据属性:只要是这个类产生的对象均会共享
  • 函数属性:类中定义的函数,绑定给对象用的。被称为方法。绑定到对象的方法的特殊之处为,绑定给谁就由谁调用,把调用者当做第一个参数传进去,所以类中定义的函数都要默认写一个参数self。

5 属性查找与绑定方法

对象之间的交互

class A:
    state = 'china'
    def __init__(self,name,HP,strength)
        self.name = name
        self.HP = HP
        self.strength = strength
    def war(self,enemy):
        ememy.HP -= self.strength
        print('%s剩余生命值%s'%(ememy.name,ememy.HP))
class B:
    state = 'USA'
    def __init__(self,name,HP,strength)
        self.name = name
        self.HP = HP
        self.strength = strength
    def war(self,enemy):
        ememy.HP -= self.strength
        print('%s剩余生命值%s'%(ememy.name,ememy.HP))
soldier = A('soldier',100,9)
criminal = B('criminal',100,5)
soldier.war(criminal)

6 小结

继承

解决代码的重用。新建的类可以继承多个父类,这些父类称为基类或超类。新建的类称为派生类或子类。
只继承一个类称为单继承。继承多个类称为多继承。

7 继承与派生

查看继承
  • 类.__base__ 只查看最左边继承的类
  • 类.__bases__ 查看所有继承的类

8 组合

经典类与新式类

1.只有在python2中才分新式类和经典类,python3中统一都是新式类
2.在python2中,没有显式的继承object类的类,以及该类的子类,都是经典类
3.在python2中,显式地声明继承object的类,以及该类的子类,都是新式类
4.在python3中,无论是否继承object,都默认继承object,即python3中所有类均为新式类
注:若未指定基类,默认会继承object类。object类是所有python类的基类,提供了一些通用方法。

9 抽象类

继承与抽象

10 多态

抽象

抽象即字面意思,抽取类似的或者比较像的部门。
抽象分为两个层次:先把相似的对象抽取成一个类,在把多个类抽取出一个父类。

11 封装

继承

基于抽象出的结果,使用编程语言去实现它。必然要先抽象,再通过继承的方式去表达出抽象的结构

本文由威尼斯wns.9778官网活动发布于计算机教程,转载请注明出处:威尼斯wns.9778官网活动python--7、面向对象

关键词: