随笔分类 -  面向对象

摘要: 阅读全文
posted @ 2017-10-12 15:55 Bigberg 阅读(609) 评论(0) 推荐(1) 编辑
摘要:一、概念 Python中反射是作用于类中的方法和属性,通过字符串映射或修改程序运行时的状态、属性、方法。 二、反射方法 2.1、hasattr(obj,name_str) 判断一个对象obj中是否有对应的name_str字符串的属性或者方法 2.1、getattr(obj,name_str) 根据字 阅读全文
posted @ 2017-07-31 07:43 Bigberg 阅读(455) 评论(0) 推荐(0) 编辑
摘要:一、概述 我们知道类可以实例化出对象,那么类本身又是怎么产生的呢?我们就来追溯一下类的起源。 二、类的起源 2.1 创建一个类 在python中有个说法:一切皆为对象。如果按照一切事物都是对象的理论:obj对象是通过执行Foo类的构造方法创建,那么Foo类对象应该也是通过执行某个类的 构造方法 创建 阅读全文
posted @ 2017-07-29 16:47 Bigberg 阅读(769) 评论(0) 推荐(0) 编辑
摘要:一、静态方法 1.1、定义 在类中的方法前面通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法 1.2、静态方法的特性 静态方法是不能访问实例变量和类变量的 事实上以上代码运行会出错的,说speak 需要一个self参数,但调用时却没有传递,没错,当speak变成静态方法后,再通 阅读全文
posted @ 2017-07-29 10:33 Bigberg 阅读(13989) 评论(0) 推荐(0) 编辑
摘要:一、前言 Python面向对象的三大特性:继承、封装和多态。 封装:在类中对数据的赋值、内部调用对外部用户是透明的,这使类变成了一个胶囊或容器,里面包含着类的数据和方法。 二、封装 在类中我们封装什么? 2.1 封装属性和方法 类中:封装了全局属性、普通属性、各种方法 对象: 封装了普通属性的值 2 阅读全文
posted @ 2017-07-25 15:17 Bigberg 阅读(581) 评论(0) 推荐(0) 编辑
摘要:一、前言 多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,指一个基类中派生出了不同的子类,且每个子类在继承了同样的方法名的同时又对父类的方法做了不同的实现,这就是同一种事物表现出的多种形态。 编程其实就是一个将具体世界进行抽象化的过程,多态就是抽象化的一种体现,把一系列具体事物的共同点抽 阅读全文
posted @ 2017-07-25 13:58 Bigberg 阅读(1637) 评论(1) 推荐(0) 编辑
摘要:一、概述 在学习面向对象之前,我们用函数来封装我们的功能,当我们要使用时,就调用函数来实现我们的需求。现在我们学习了面向对象的知识,知道了类和对象,其实函数式编程和面向对象编程都可以减少重复代码,不过面向对象可以对函数进行分类和封装,使代码可读性好,易扩展。那么我们什么时候用到面向对象编程呢?我们先 阅读全文
posted @ 2017-07-19 20:06 Bigberg 阅读(800) 评论(0) 推荐(1) 编辑
摘要:1.__doc__ 表示类的描述信息 2.__module__ 和 __class__ __module__ 表示当前操作对象在哪个模块 __class__ 表示当前操作对象的类是什么 3. __init__ 构造方法 通过类创建对象时,自动触发执行 4. __del__ 析构方法 当对象在内存中被 阅读全文
posted @ 2017-07-18 16:04 Bigberg 阅读(590) 评论(0) 推荐(0) 编辑
摘要:一、概述 Python中支持多继承,也就是一个子类可以继承多个父类/基类。当一个调用一个自身没有定义的属性时,它是按照何种顺序去父类中寻找的呢?尤其是当众多父类中都包含有同名的属性,这就涉及到新式类 和 经典类的区别。 二、多继承 1 class Food(object): 2 3 def __in 阅读全文
posted @ 2017-07-17 19:23 Bigberg 阅读(2277) 评论(0) 推荐(0) 编辑
摘要:一、概述 面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”,继承的过程,就是从一般到特殊的过程。在某 阅读全文
posted @ 2017-07-15 15:09 Bigberg 阅读(271044) 评论(11) 推荐(27) 编辑
摘要:构造函数 用于初始化类的内容部状态,Python提供的构造函数式 __init__(),也就是当该类被实例化的时候就会执行该函数,__init__()方法是可选的,如果不提供,Python 会给出默认的__init__方法。 析构函数 “__del__”就是一个析构函数了,当使用del 删除对象时, 阅读全文
posted @ 2017-07-15 10:51 Bigberg 阅读(37549) 评论(0) 推荐(1) 编辑
摘要:一、概念 我们前面提到类的私有属性,也就是类中不能直接访问的。但是不是可以直接访问的属性就是公有属性呢?其实也不是。在__init__()构造函数中的属性,对外基本都可以访问,但是他们并不是公有属性。那什么叫公有属性呢? 定义: 指的是所属这个类的所有对象,都可以访问的属性,叫做公有属性。 二、属性 阅读全文
posted @ 2017-07-14 18:37 Bigberg 阅读(1856) 评论(0) 推荐(0) 编辑
摘要:一、概述 类:可以理解为他是一个模板,比如人们在说“人”这个名词的时候,没人知道这个“人”具体是指那个人! 对象: 对象是一个实际的物体,他有自己的属性和特征、行为。比如说 韩梅梅这样一个具体的人。 1.定义类(class Dog(object))--> 实例化(d = Dog()) > 实例对象( 阅读全文
posted @ 2017-07-11 19:26 Bigberg 阅读(987) 评论(0) 推荐(0) 编辑
摘要:一、定义一个类 第一种方法__init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法 self 代表类的实例,self 在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。 二、self代表的实例,而非类 类的方法与普通的函数只有一个特别的 阅读全文
posted @ 2017-07-10 19:23 Bigberg 阅读(2239) 评论(0) 推荐(0) 编辑
摘要:一、编程范式 编程是 程序 员 用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很多种不同的方式, 对这些不同的编程方式的特点进行归纳总结得出来的编程方式类别,即为编程范式 阅读全文
posted @ 2017-07-10 18:46 Bigberg 阅读(496) 评论(0) 推荐(0) 编辑