一.错误与异常 程序中难免会出现错误,而错误分为两种 1.语法错误:(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) 2.逻辑错误:(逻辑错误),比如用户输入的不合适等一系列错误 那什么是异常呢? 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下.异常发生之后,异常之后的代码就不执行了 异常种类:在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识, 不同的类对象标识不同的异常,一个异常标识一种错误 常见的异…
# 面向对象的三大特性:封装,继承,多态 # 继承的影响:资源的继承,资源的使用,资源的覆盖,资源的累加 # 资源的继承,在Python中的继承是指能使用父类的资源,而不是说在子类也复制一份父类代码到子类中 class Animate: a = 1 # 公有的资源 _b = 2 # 受保护的资源 __c = 3 # 私有的资源 def t1(self): print("t1") def _t2(self): print("t2") def __t3(self): p…
继承 继承也是面向对象编程三大特性之一 继承是类与类的一种关系 定义一个新的 class 时,可以从某个现有的 class 继承 新的 class 类就叫子类(Subclass) 被继承的类一般称为父类.基类.超类 通俗理解:子类与父类的关系,即爸爸与儿子,爸爸有了个儿子,儿子继承爸爸的属性和方法,爸爸的爸爸就是爷爷...以此类推 继承的实际栗子 猫.狗都是动物,所以动物是父类,猫.狗是动物的子类 小菠萝.大菠萝都是人类,所以人类是父类,小菠萝.大菠萝是人类的子类 动物.人类都是生物,所以生物是…
面向对象的三大特性:继承,封装,多态 什么时候用封装: 同一种功能的时候, 譬如:把一部分数据或方法,封装到同一个类的中 PS:在构造方法中,原始数据中....…
一.继承 面向对象中的继承就是继承的类直接拥有被继承类的属性而不需要在自己的类体中重新再写一遍,其中被继承的类叫做父类.基类,继承的类叫做派生类.子类.在python3中如果不指定继承哪个类,默认就会继承Object类,而继承了Object类的类就叫做新式类,而在python2中如果不指定继承哪个类也不会默认去继承Object类,而没有继承Object类的类就叫做经典类.经典类和新式类的不同就在于对方法的搜索顺序不同,经典类是深度优先即先找自己类内,如果没有就找左边第一个父类,没找到继续从这个父…
继承 先看个简单的例子了解一下继承. class Animal: # 父类 def __init__(self, name, age, department): self.name = name self.age = age self.department = department def running(self): print('%s可以奔跑!'% self.name) class Cat(Animal): # 括号里放要继承的父类 def __init__(self, name, age,…
简单介绍封装 封装是面向对象编程的一大特点 封装可以被认为是一个保护屏障,防止该类的属性.方法和数据结构被外部随意访问 要访问该类的属性.私有方法.数据结构,必须由指定的方法控制访问 深入理解封装 在设计类时,刻意地将一些属性和方法隐藏在类的内部[私有属性.私有方法] 这样在使用此类时,将无法直接通过 实例对象.属性名   实例对象.实例方法() 形式调用这些属性.方法 而只能通过公开的方法间接操作这些隐藏的属性和方法 类比场景 好比使用电脑,我们只需要学会如何使用键盘和鼠标就可以了,不用关心内…
多态 多态的特性是调用不同的子类将会产生不同的行为,而无需明确知道这个子类实际上是什么 说白了就是,不同的对象调用相同的方法,产生不同的行为 例如:s1是字符串类型,w1是列表,两个完全不同的对象,他们都可以调用len方法,而得出的结果不同 多态实际上是依附于继承的两种含义:"改变"和"扩展"本身就意味着必须有机制去选用你改变/扩展过的版本,多态实质上就是继承的实现细节: 子类实例化后调用基类的方法,w1.turn_ice()叫做多态: class H20: def…
1. 封装: 把很多数据封装到⼀个对象中. 把固定功能的代码封装到⼀个代码块, 函数, 对象, 打包成模块. 这都属于封装的思想. 具体的情况具体分析.  那这个也可以被称为封装. 2. 继承: 两个类具有相同的功能或者特征的时候. 可以采⽤继承的形式. 提取⼀个⽗类, 这个⽗类中编写着两个类相同的部分. 然后两个类分别取继承这个类就可以了. 这样写的好处是我们可以避免写很多重复的功能和代码. 如果从语义中去分析的话. 会简单很多. 如果语境中出现了x是⼀种y. 这时, y是⼀种泛化的概念. x…
继承和组合 一.组合 组合:组合指的是,在一个类中以另外一个类的对象(也就是实例)作为数据属性,称为类的组合 也就是说:一个类的属性是另一个类的对象,就是组合 例子: 圆环是由两个圆组成的,圆环的面积就是外圆的面积减去内圆的面积.圆环的周长就是内圆的周长加上外圆的周长,这个时候,我们首先设计一个圆形类,计算一个圆的面积和圆的周长.然后在‘圆环类’组合圆形的实例作为自己的属性来用(这样的目的就是为了不用在写面积和周长的方法了,直接组合圆类的面积和方法去求解.减少了代码的重用) 1 from mat…
多态 多态 不同的子类对象调用相同的父类方法,产生不同的执行结果. 以继承和重写父类方法为前提…
前置知识 封装 详解文章:https://www.cnblogs.com/poloyy/p/15203989.html 封装根据职责将属性.方法封装到一个抽象的类中 定义类的准则-封装 继承 详解文章:https://www.cnblogs.com/poloyy/p/15216652.html 继承实现代码的重用,相同的代码不需要重复的编写 多态 不同的子类对象调用相同的父类方法,产生不同的执行结果 以继承和重写父类方法为前提 是调用方法的技巧,不会影响到类的内部设计 程序猿和设计师都是人类,他…
面向对象的三大特性- 封装- 继承- 多态1 封装 - 封装就是对对象的成员进行访问限制- 封装的三个级别: - 公开,public - 受保护的,protected - 私有的,private - public,private,protected不是关键字- 判别对象的位置 - 对象内部 - 对象外部 - 子类中- [python中下划线使用](http://blog.csdn.net/handsomekang/article/details/40303207)- 私有 - 私有成员是最高级别…
概念:                                                                                                                                                     面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学者…
一.课前回顾 类:具有相同属性和方法的一类事物 实例化:类名() 过程: 开辟了一块内存空间 执行init方法 封装属性 自动的把self返回给实例化对象的地方 对象:实例 一个实实在在存在的实体 组合: 一个类的对象 作为另一个类对象的属性 让两个类之间产生关系 __dict__(): 查看类中所有静态属性和方法 查看所有对象的属性.类对象指针 静态属性:类的属性,所有的对象共享这个变量 对象名:去修改 类的静态属性 在对象的空间中有创建了一个属性,而不能修改类中属性的值 操作静态属性 应该…
1.面向对象之三大特性 1.1封装 封装:就是把一堆代码和数据,放在一个空间,并且可以使用 对于面向对象的封装来说,其实就是使用构造方法将内容封装到 对象 中,然后通过对象直接或者self间接获取被封装的内容. 例如:函数,把一些类似功能封装在一个函数中 class Student: def __init__(self,name,sex): self.name = name self.sex = sex zdr = Student('周道镕','Handsome_Girl') print(zdr…
Python 入门 之 面向对象的三大特性(封装 / 继承 / 多态) 1.面向对象的三大特性: (1)继承 ​ 继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,父类又可以称为基类或超类,新建的类称为派生类或子类. ​ 在Python中实现继承非常简单,在声明类的时候,在类名后面添加一个小括号,就可以完成继承关系.单纯的从代码的层面上来看当两个类具有相同的功能或者特征的时候就可以使用继承.提取一个父类,这个父类中编写者两个类相同的部分,然后两个类分别去继承这个类就可以…
python基础--面向对象 (1)面向过程VS面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可. 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身. 应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及Apache HTTP Server等. 面向对象的程序设计的核心是对象(…
面向对象的三大特性 继承 继承和组合 继承进阶 封装 封装(有待完善) 多态 多态…
一.类的基础知识 python 一切皆为对象. 我们以前的str,list,int 都是对象. 1.1 类的定义 与 调用 class 关键字用来定义类,注意类名首字母大写. 类的调用,先实例化一个类,叫做对象或实例.使用这个实例调用其中的方法. 其实在之前我们一直在使用面向对象,str本身就是一个类. s = ‘abc’  -> s = str(abc)  # 看源码对= 进行了运算符的重载,生成一个对象.就是我们类的调用. s.upper()   调用里面的方法. class Foo: de…
Java面向对象的三大特性就是指封装.继承.多态了. 一.封装: 概念:封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. (举例:笔记本电脑就是一个封装体,Java语言中最小的封装体就是函数) 好处: 将变化隔离 便于使用 提高重用性 提高安全性 封装原则: *将不需要对外提供的内容都隐藏起来. *把属性都隐藏,提供公共方法对其访问. 二.继承: *继承的关系是传递的:继承简化了人们对事物的认识和描述,抽象了公共的属性和行为: 继承提高了一致性,减少程序的维护性:继承是单一继承. *子…
一.封装 1.什么是封装 在程序上,隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别:将对象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员. 1> set方法 ① 作用:提供一个方法给外界设置成员变量值,实现对参数的相应过滤 ② 命名规范 *方法名必须以set开头 *set后面跟上成员变量的名称,成员变量名首字母必须大写 *返回值一定是void *一定要接收一个参数,而且参数…
一.面向对象的三大特性:封装(成员变量).继承和多态 1. set方法和get方法 1. set方法和get方法的使用场合 @public的成员可以被随意赋值,应该使用set方法和get方法来管理成员的访问(类似机场的安检.水龙头过滤,过滤掉不合理的东西),比如僵尸的生命值不能为负数 2. set方法 1) 作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值 2) 命名规范: ➢ 方法都是以set开头,而且后面跟上成员变量名,成员变量名的首字母必须大写 ➢ 形参名称不要跟成员变量同名 3…
简介:面向对象的三大特性就是封装,继承,多态,是面向对象的核心. 封装 简介:封装是类的边界,可以对数据起到保护作用 特性:属性私有,提供公开的get/set方法 属性私有:private 数据类型 变量名:---->private修饰的属性只能在本类使用 公开的get/set方法 public修饰---- >在任何类中都可以使用 get方法:----获取属性的值 public 数据类型 getXxx(){ return this.属性名 } set方法:----修改属性的值 public v…
在C#基础知识之类和结构体中我详细记录了类.类成员.重载.重写.继承等知识总结.这里就记录一下对面向对象和面向对象三大特性的广义理解. 一.理解面向对象 类是面向对象编程的基本单元,面向对象思想其实就是教给我们如何合理的运用类的规则去编写代码. 二.理解面向对象的三大特性 1.封装 封装就是通过给类及类中的成员变量.属性和方法设置不同的访问修饰符(public.protected.internal.protected internal.private)来控制它们的作用范围,以达到封装的目的. 2…
1.JavaScript面向对象的三大特性 JavaScript的三大特性:封装性.继承性.多态性. 2.JavaScript实现封装特性 在一些静态类型的语言如java中,本身语法就提供了这些功能.js当中只能依靠变量的作用域来实现封装的特性,并且只能模拟出public和private两种特性.封装实现就是是对象内部的变化对外界是透明的,不可见.这种做法使对象之间低耦合,便于维护升级,团队协作开发. 3.JavaScript实现继承特性 继承可以解决代码复用,让编程更加靠近人类思维.当多个类存…
Java基础-面向对象第三大特性之多态(polymorphism) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.多态概述 多态是继封装,继承之后,面向对象的第三大特性,多态的前提是继承. 从现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三即是学生也是人.即出现两种形态.Java作为面向对象的语言,同样可以描述一个事物的多种形态.如Student类继承了Person类,一个Student的对象便既是Student,又是Person. 最终多态体现…
PHP面向对象的三大特性:封装性.继承性.多态性. 1. 封装性: 也称为信息隐藏,就是将一个类的使用和实现分开,只保留部分接口和方法与外部联系,或者说只公开了一些供开发人员使用的方法. 于是开发人员只需要关注这个类如何使用,而不用去关心其具体的实现过程,这样就能实现MVC分工合作,也能有效避免程序间相互依赖,实现代码模块间松藕合. 2. 继承性: 就是子类自动继承其父级类中的属性和方法,并可以可以添加新的属性和方法或者对部分属性和方法进行重写.继承增加了代码的可重用性.php只支持单继承,也就…
Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比如我们按下 F1 键这个动作: 如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档: 如果当前在 Word 下弹出的就是 Word 帮助: 在 Windows 下弹出的就是 Windows 帮助和支持. 同一个事件发生在不同的对象上会产生不同的结果. 二:多态的优点: 1. 消除类型之间…
Java面向对象的三大特性之继承 一:继承的概念: 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为. 继承是类与类的一种关系,是一种“is a”的关系 如下面这个例子: 兔子和羊属于食草动物类,狮子和豹属于食肉动物类. 食草动物和食肉动物又是属于动物类. 所以继承需要符合的关系是:is-a,父类更通用,子类更具体. 虽然食草动物和食肉动物都是属…