面向对象和类总结

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

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

面向对象

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

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

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

一)类的基础

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

创建对象:类名()

初始化方法:

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

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

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

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

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

二)

面向对象特性———封装

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

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

面向对象特性———继承

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

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

class 子类(父类):

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

面向对象特性——多态

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

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

三)特殊方法

1)类属性,类方法

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

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

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

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

@classmethod

def 类方法(cls):
    
pass

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

2)静态方法

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

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

@staticmethod  

def 静态方法():
    
pass

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

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

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

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

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


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

查看所有标签

猜你喜欢:

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

Agile Web Application Development with Yii 1.1 and PHP5

Agile Web Application Development with Yii 1.1 and PHP5

Jeffrey Winesett / Packt Publishing / 2010-08-27

In order to understand the framework in the context of a real-world application, we need to build something that will more closely resemble the types of applications web developers actually have to bu......一起来看看 《Agile Web Application Development with Yii 1.1 and PHP5》 这本书的介绍吧!

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

在线压缩/解压 CSS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具