面向对象和类总结

栏目: 后端 · 前端 · 发布时间: 5年前

内容简介:面向对象类和对象:类是模版,对象是类创建出来的一个具体的存在类的三要素:类名(单词首字母必须大写,单词间无下划线),属性,方法

面向对象

类和对象:类是模版,对象是类创建出来的一个具体的存在

类的三要素:类名(单词首字母必须大写,单词间无下划线),属性,方法

使用名词提炼法来设计一个类

一)类的基础

dir(对象) 查看该对象的所有方法和属性

创建对象:类名()

初始化方法:

当使用类名创建对象时,会自动执行如下操作

1)为对象在内存中分配空间

2)为对象的属性设置初始值,也就是__init__方法做的事情。它是对象的内置方法。创建对象时,会自动执行初始化方法

__del__对象在销毁前,会被自动调用,如果想在销毁前做一些事情,可以重写此方法

__str__返回对象的描述信息,pirnt(对象)会打印对象的信息,如果想要自定义打印信息,可以重写此方法,但返回值必须是str

二)

面向对象特性———封装

通过需求分析提取属性和方法整合成一个类,即封装

在对象的方法内部,是可以直接访问和使用对象的属性的。

面向对象特性———继承

继承:不需要重写重复的代码

子类拥有父类的全部属性和方法,但不能直接使用父类的私有属性和方法

class 子类(父类):

继承的传递性:子类可以继承父类的父类的所有属性和方法

面向对象特性——多态

不同的子类对象调用相同得父类方法,产生不同的执行结果,

可以增加代码的灵活度,以继承和方法的重写为前提

三)特殊方法

1)类属性,类方法

实例,实例化,实例属性,实例方法

类是特殊的对象——类对象,在内存中只有一份

类属性定义——在类的下方使用赋值语句定义即可,访问类属性,使用类名.类属性。

类方法定义——-使用classmethod和cls来定义,

@classmethod

def 类方法(cls):
    
pass

访问类方法,使用类名.类方法

2)静态方法

定义:既不需要访问类方法类属性,实例方法,实例属性时,可以定义此方法为静态方法

格式:需要staticmethod,但不需要传入self

@staticmethod  

def 静态方法():
    
pass

访问静态方法: 类名.静态方法()

3) 实例方法,类方法,静态方法的选择

实例方法:方法内部访问实例属性,或者访问类属性时

类方法:方法内部只访问类属性

静态方法:不需要访问类属性和实例属性。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

高性能MySQL

高性能MySQL

施瓦茨 (Baron Schwartz)、扎伊采夫 (Peter Zaitsev)、特卡琴科 (Vadim Tkachenko) / 宁海元、周振兴、彭立勋、翟卫祥,刘辉 / 电子工业出版社 / 2013-5-1 / 128.00元

《高性能mysql(第3版)》是mysql 领域的经典之作,拥有广泛的影响力。第3 版更新了大量的内容,不但涵盖了最新mysql 5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16 章和6 个附录,内容涵盖mysql 架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可......一起来看看 《高性能MySQL》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换