这篇文章对于初学者可以很有效的理解面对过程.面对对象 一.首先介绍一下面向过程和面向对象的比较: 面向过程 VS 面向对象 编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很多种不同的方式, 对这些不同的编程方式的特点进行归纳总结得出来的编程方式类别,即为编程范式. 不同的编程范式本质上代表对各种类型的任务采取的不同的解决问题的思路, 大多数语言只…
继承 首先编写一串关于类的代码行: __author__ = "Yanfeixu" # class People: 经典类不用加(object) class People(object): #新式类 def __init__(self,name,age): self.name = name self.age = age self.friends = [] print("--doens't run ") def eat(self): print("%s is…
接下来类的第三个重要的特性:多态(一种接口,多种实现) 多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作.简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针. 那么,多态的作用是什么呢?我们知道,封装可以隐藏实现细节,使得代码模块化:继承可以扩展已存在的代码模块(类):它们的目的都是为了--代码重用.而多态则是为了实现另一个目的--接口重用!多态的作用,就是为了类在继承的…
一.面向对象总结: (1)三要素:封装,继承,多态                                       详细介绍链接:https://www.jianshu.com/p/68ab35298a59 one.封装:所谓封装,也就是把 客观事物 封装成 抽象的 类,并且 类 可以把自己的数据和方法只让可信的类或者对象操作. 简而言之就是将内容封装到某个地方,以后再去调用被封装在某处的内容 测试代码: #封装测试例子 class Foo:#定义一个类 def __init__(s…
一.面向对象类的初识 1.类的定义 #三种方式:#1.class MyClass:    pass #2.推荐class MyClass():    pass #3.class MyClass(object):    pass 总结为一句话:class 类名可以不加括号,可以加括号,可以加括号而且括号里面加object. 2.类的实例化 class MyClass():    pass#类的实例化,实例化对象obj = MyClass()        #obj 就是一个对象 3.类的基本结构…
抽象类,接口类 Python没有接口这个概念 抽象类(接口类): 目的是制定一个规范 要学会归一化设计,有重复的东西就要想把它们合并起来 from abc import ABCMeta, abstractclassmethod class Payment(metaclass=ABCMeta): # 创建一个抽象 (接口) 类 的父类, @abstractclassmethod def pay(self): pass # 制定一个规范 只是放在那里 class Alipay(Payment): d…
__author__ = "Yanfeixu" class School(object): # object是基类,所有的类都是继承这个--新式类 def __init__(self,name,addr): self.name = name self.addr = addr self.students =[] self.staffs =[] def enroll(self,stu_obj): print("为学员%s 办理注册手续"%stu_obj.name ) s…
当我发现要写python的面向对象的时候,我是踌躇满面,坐立不安呀.我一直在想:这个坑应该怎么爬?因为python中关于面向对象的内容很多,如果要讲透,最好是用面向对象的思想重新学一遍前面的内容.这个坑是如此之大,犹豫再三,还是只捡一下重要的内容来讲吧,不足的内容只能靠大家自己去补充了. 惯例声明一下,我使用的版本是 python2.7,版本之间可能存在差异. 好,在开讲之前,我们先思考一个问题,看代码:…
面向对象知识 封装 封装的原理是,其成员变量代表对象的属性,方法代表这个对象的动作真正的封装是,经过深入的思考,做出良好的抽象(设计属性时用到),给出“完整且最小”的接口,并使得内部细节可以对外透明(注意:对外透明的意思是,外部调用者可以顺利的得到自己想要的任何功能,完全意识不到内部细节的存在)优点: 1.控制对数据的操作将数据隐藏起来这不是目的.隐藏起来然后对外提供操作该数据的接口,然后我们可以在接口附加上对该数据操作的限制,以此完成对数据属性操作的严格控制2.隐藏实现方法实现代码例如:#取款…
面向对象编程(Object-oriented programming, OOP)是一种基于对象概念的编程范式,可包含属性(attribute)形式的数据以及方法(method)形式的代码.另一种对 OOP 的解释是构建来灵活的且可复用的模块或是库,就像 Numpy 和 Pandas. Python 中的所有内容都是对象.就像字符串(string)和列表(list)都是 Python 中的对象.而类就是创建对象的蓝图.基于面向对象机制编写的代码易于维护,是因为它的模块化结构,同时程序也因为封装而更…