二面向对象三大特性

Eric Eric     2022-10-15     547

关键词:

一 继承与派生

  一、继承定义

  二、继承与抽象的关系

  三、继承与重用性

  四、派生

  五、组合与重用性

  六、接口与归一化设计

  七、抽象类

  八、继承实现的原理

  九、子类中调用父类的方法

二 多态与多态性

  一、多态

  二、多态性

三 封装

  一、封装定义

  二、特性(property)

  三、封装与扩展性

 

一 继承与派生

一、继承定义

什么是继承

继承是一种创建新类的方式,新建的类可以继承一个或多个父类(python支持多继承),父类又可称为基类或超类,新建的类称为派生类或子类。

子类会“”遗传”父类的属性,从而解决代码重用问题(比如练习7中Garen与Riven类有很多冗余的代码)

python中类的继承分为:单继承和多继承

 

 1 class ParentClass1: #定义父类
 2     pass
 3 
 4 class ParentClass2: #定义父类
 5     pass
 6 
 7 class SubClass1(ParentClass1): #单继承,基类是ParentClass1,派生类是SubClass
 8     pass
 9 
10 class SubClass2(ParentClass1,ParentClass2): #python支持多继承,用逗号分隔开多个继承的类
11     pass

查看继承

1 >>> SubClass1.__bases__ #__base__只查看从左到右继承的第一个子类,__bases__则是查看所有继承的父类
2 (<class __main__.ParentClass1>,)
3 >>> SubClass2.__bases__
4 (<class __main__.ParentClass1>, <class __main__.ParentClass2>)

经典类与新式类

1.只有在python2中才分新式类和经典类,python3中统一都是新式类
2.在python2中,没有显式的继承object类的类,以及该类的子类,都是经典类
3.在python2中,显式地声明继承object的类,以及该类的子类,都是新式类
3.在python3中,无论是否继承object,都默认继承object,即python3中所有类均为新式类
#关于新式类与经典类的区别,我们稍后讨论

提示:如果没有指定基类,python的类会默认继承object类,object是所有python类的基类,它提供了一些常见方法(如__str__)的实现。

1 >>> ParentClass1.__bases__
2 (<class object>,)
3 >>> ParentClass2.__bases__
4 (<class object>,)

 

大数据必学java基础(三十九):面向对象三大特性之一封装(encapsulation)(代码片段)

文章目录面向对象三大特性之一封装(Encapsulation)一、生活案例二、Java中封装的理解三、封装的好处四、通过一个属性感受封装五、实际开发中,方法一般会写成setter,getter方法六、加深练习面向对象三大特性之一封装(Enc... 查看详情

面向对象的三大特性之封装(代码片段)

#面向对象的三大特性之封装#第一个层面的封装:类就是麻袋,这本身就是一种封装#第二个层面的封装:类中定义私有的,只在类内部使用,外部无法访问#约定一:任何以单下划线开头的名字都应该是内部的,私有的#约定二:... 查看详情

面向对象编程的三大特性:继承多态封装

九子类中调用父类的方法方法一:指名道姓,即父类名.父类方法() ViewCode方法二:super() ViewCode 强调:二者使用哪一种都可以,但最好不要混合使用  了解部分:即使没有直接继承关系,super仍然会按照mro继续... 查看详情

面向对象三大特性

  面向对象三大特性:    1.封装; 2.继承;3.多态   封装:    目的:为了让类更加安全。    步骤:      1.将成员变量变为private,不能从外界访问;      2.在类里面做一个成员方法... 查看详情

面向对象三大特性(代码片段)

面向对象三大特性1.面向对象的三大特性:继承,封装,多态封装:将一堆代码或者数据等放到一个空间中,并且可以使用多态:同一个对象,多种形态.(python默认支持多态)封装:根据职责将属性和方法封装到一个抽象的类中继承:实现代码... 查看详情

面向对象三大特性五大原则+低耦合高内聚

面向对象三大特性五大原则+低耦合高内聚面向对象的三大特性是"封装、"多态"、"继承",五大原则是"单一职责原则"、"开放封闭原则"、"里氏替换原则"、"依赖倒置原则"、"... 查看详情

java面向对象概述和三大特性

   Java是面向对象的高级编程语言,类和对象是Java程序的构成核心。围绕着Java类和Java对象,有三大基本特性:封装是Java类的编写规范、继承是类与类之间联系的一种形式、而多态为系统组件或模块之间解耦提供了解决方... 查看详情

java面向对象概述和三大特性

   Java是面向对象的高级编程语言,类和对象是Java程序的构成核心。围绕着Java类和Java对象,有三大基本特性:封装是Java类的编写规范、继承是类与类之间联系的一种形式、而多态为系统组件或模块之间解耦提供了解决方... 查看详情

面向对象三大特性

面向对象三大基本特性:封装,继承,多态封装,把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。... 查看详情

面向对象的三大特性

面向对象的三大特性:封装,继承,多态封装封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节 继承: 子类拥有父类的属性和方法,任何... 查看详情

面向对象三大特性

首先面向对象并不是所有情况都适用的小例子#!/usr/bin/envpython#-*-coding:utf-8-*-classpyrene:deffet(self,back):print(back,self)obj=pyrene()obj.fet("a")ViewCode一、面向对象上面的执行顺序:1)首先创建对象obj=pyrene()2)执行方法obj.fet("a")这里的对象叫... 查看详情

面向对象的三大特性

  面向对象的三大特性:封装、继承、多态。  封装:  理解:把客观的事物封装成抽象的类,类可以把自己的属性和方法提供给可信任的类或对象操作,对不可信任的类或对象进行隐藏;每个封装类或对象都包含它能进... 查看详情

面向对象三大基本特性,五大基本原则

透切理解面向对象三大基本特性是理解面向对象五大基本原则的基础.三大特性是:封装,继承,多态  所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的... 查看详情

面向对象三大基本特性,五大基本原则

透切理解面向对象三大基本特性是理解面向对象五大基本原则的基础.三大特性是:封装,继承,多态  所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的... 查看详情

面向对象三大基本特性,五大基本原则

透切理解面向对象三大基本特性是理解面向对象五大基本原则的基础.三大特性是:封装,继承,多态  所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的... 查看详情

20181005面向对象,三大基本特性,五大基本原则

透切理解面向对象三大基本特性是理解面向对象五大基本原则的基础.三大特性是:封装,继承,多态  所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的... 查看详情

面向对象三大基本特性

...信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可... 查看详情

面向对象的三大特性

//面向对象的三大特性:①封装②继承③多态//运用封装方法复杂很多但还使用其目的是:为了控制用户的输入或者用户的取值,让类更加的安全。//做法://  1.将成员变量变为私有(将类里面的public改为private,使外界访问不到... 查看详情