python中面向对象三大特征 外汇具有的三个特点是什么意思
面向对象三大特征 1.封装:根据职责将属性和方法封装到一个抽象的类中 2.继承:实现代码的重用,相同的代码不需要重复的写 3.多态:以封装和继承为前提,不同的子类对象调用相同的方法,产生不同的执行结果
一、封装什么是封装:
1.封装是面向对象编程的一大特点 2.面向对象编程的第一步 将属性和方法封装到一个抽象的类中(为什么说是抽象的,因为类不能直接使用) 3.外界使用类创建对象,然后让对象调用方法 4.对象方法的细节都被封装在类的内部
例:需求:小明爱跑步 1.小明体重75.0公斤 2.每次跑步会减肥0.5公斤 3.每次吃东西体重会增加1公斤 4.小美的体重是45.0公斤
封装实例:
1、摆放家具 需求: 1)房子有户型,总面积和家具名称列表 新房子没有任何的家具 2)家具有名字和占地面积,其中 床:占4平米 衣柜:占2平面 餐桌:占1.5平米 3)将以上三件家具添加到房子中 4)打印房子时,要求输出:户型,总面积,剩余面积,家具名称列表
被使用的类应该先开发
2、需求: 1)士兵瑞恩有一把AK47 2)士兵可以开火(士兵开火扣动的是扳机) 3)枪 能够 发射子弹(把子弹发射出去) 4)枪 能够 装填子弹 --增加子弹的数量
注:一个对象的属性可以是另外一个类创建的对象
二、继承1、继承的定义
实现代码的重用,相同的代码不需要重复的写,分为单继承和多继承
2、单继承 继承的概念:子类拥有父类的所有属性和方法 继承的语法 class 类名(父类): def 子类特有的方法 """ """ Cat类是Animal类的子类,Animal类是Cat类的父类,Cat从Animal类继承 Cat类是Animal类的派生类,Animal类是Cat类的基类,Cat类从Animal类派生
3、继承的传递性:(爷爷 父亲 儿子) 1)C类从B类继承,B类又从A类继承 2)那么C类就具有B类和A类的所有属性和方法 子类拥有父类以及父类的父类中封装的所有属性和方法
注:子类继承自父类,可以直接享受父类中已经封装好的方法 子类中应该根据自己的职责,封装子类特有的属性和方法
4、重写父类方法有2种
1)覆盖父类的方法
如果在开发过程中,父类方法的实现和子类方法的实现完全不同,就可以使用覆盖的方法在子类中重新编写父类中的方法
如果子类中,重写了父类的方法 在运行中,只会调用在子类中重写的父类的方法而不会调用父类的方法
2)扩展父类的方法
如果在开发过程中,子类的方法的实现包含父类的方法的实现(父类原本封装的方法实现是子类方法的一部分,就可以使用扩展方法)
扩展父类的方法:在需要位置使用父类名,方法(self)来调用父类方法的执行,代码其他位置针对子类的需求,编写子类特有的代码实现
3)多继承
多继承可以让子类对象,同时具有多个父类的属性和方法
三、多态
多态:以封装和继承为前提,不同的子类对象调用相同的方法,产生不同的执行结果
多态实例:
注:案例小结: Person类中只需要让狗对象调用game方法(这是子类的父类中封装的方法),而不关心具体是什么狗 game方法是在Dog父类中定义的 在程序执行时,传入不同的狗对象的实参,就会产生不同的执行效果
版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。