内容简介:面向对象类和对象:类是模版,对象是类创建出来的一个具体的存在类的三要素:类名(单词首字母必须大写,单词间无下划线),属性,方法
面向对象
类和对象:类是模版,对象是类创建出来的一个具体的存在
类的三要素:类名(单词首字母必须大写,单词间无下划线),属性,方法
使用名词提炼法来设计一个类
一)类的基础
dir(对象) 查看该对象的所有方法和属性
创建对象:类名()
初始化方法:
当使用类名创建对象时,会自动执行如下操作
1)为对象在内存中分配空间
2)为对象的属性设置初始值,也就是__init__方法做的事情。它是对象的内置方法。创建对象时,会自动执行初始化方法
__del__对象在销毁前,会被自动调用,如果想在销毁前做一些事情,可以重写此方法
__str__返回对象的描述信息,pirnt(对象)会打印对象的信息,如果想要自定义打印信息,可以重写此方法,但返回值必须是str
二)
面向对象特性———封装
通过需求分析提取属性和方法整合成一个类,即封装
在对象的方法内部,是可以直接访问和使用对象的属性的。
面向对象特性———继承
继承:不需要重写重复的代码
子类拥有父类的全部属性和方法,但不能直接使用父类的私有属性和方法
class 子类(父类):
继承的传递性:子类可以继承父类的父类的所有属性和方法
面向对象特性——多态
不同的子类对象调用相同得父类方法,产生不同的执行结果,
可以增加代码的灵活度,以继承和方法的重写为前提
三)特殊方法
1)类属性,类方法
实例,实例化,实例属性,实例方法
类是特殊的对象——类对象,在内存中只有一份
类属性定义——在类的下方使用赋值语句定义即可,访问类属性,使用类名.类属性。
类方法定义——-使用classmethod和cls来定义,
@classmethod def 类方法(cls): pass
访问类方法,使用类名.类方法
2)静态方法
定义:既不需要访问类方法类属性,实例方法,实例属性时,可以定义此方法为静态方法
格式:需要staticmethod,但不需要传入self
@staticmethod def 静态方法(): pass
访问静态方法: 类名.静态方法()
3) 实例方法,类方法,静态方法的选择
实例方法:方法内部访问实例属性,或者访问类属性时
类方法:方法内部只访问类属性
静态方法:不需要访问类属性和实例属性。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 面向Python,面向对象(基础)
- 面向Python,面向对象(基础3)
- <<深入PHP面向对象、模式与实践>>读书笔记:面向对象设计和过程式编程
- 《JavaScript面向对象精要》之六:对象模式
- 《JavaScript面向对象精要》之三:理解对象
- 面向对象的程序设计之理解对象
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
结网@改变世界的互联网产品经理
王坚 / 人民邮电出版社 / 2013-5-1 / 69.00元
《结网@改变世界的互联网产品经理(修订版)》以创建、发布、推广互联网产品为主线,描述了互联网产品经理的工作内容,以及应对每一部分工作所需的方法和工具。产品经理的工作是围绕用户及具体任务展开的,《结网@改变世界的互联网产品经理(修订版)》给出的丰富案例以及透彻的分析道出了从发现用户到最终满足用户这一过程背后的玄机。新版修改了之前版本中不成熟的地方,强化了章节之间的衔接,解决了前两版中部分章节过于孤立......一起来看看 《结网@改变世界的互联网产品经理》 这本书的介绍吧!