静态方法是类中的函数,不需要实例。静态方法主要是用来存放逻辑性的代码,逻辑上属于类,但是和类本身没有关系,也就是说在静态方法中,不会涉及到类中的属性和方法的操作。可以理解为,静态方法是个独立的、单纯的函数,它仅仅托管于某个类的名称空间中,便于使用和维护。 譬如,我想定义一个关于时间操作的类,其中有一 ...
分类:
编程语言 时间:
2019-11-16 09:13:39
阅读次数:
81
一. 细分类的组成成员 之前咱们讲过类大致分两块区域,静态字段部分和方法部分。 每个区域详细划分又可以分为: class A: company = '阿里巴巴' # 静态变量(静态字段) __tel = '400xxxxx' # 私有静态变量(私有静态字段) def __init__(self,na ...
分类:
编程语言 时间:
2019-11-16 00:46:44
阅读次数:
76
面向对象封装案例 封装 1. 封装 是面向对象编程的一大特点 2. 面向对象编程的 第一步 将 属性 和 方法 封装 到一个抽象的 类 中 = 一开始就应该先做需求分析,分析这个类有哪些属性和方法 3. 外界 使用 类 创建 对象 ,然后 让对象调用方法 4. 对象方法的细节 都被 封装 在 类的内 ...
分类:
编程语言 时间:
2019-11-15 22:43:29
阅读次数:
89
1.继承 class Animal: def __init__(self,name,age,sex): self.name = name self.age = age self.sex = sex def eat(self): print('{}正在吃东西~'.format(self.name)) ...
分类:
编程语言 时间:
2019-11-14 09:47:09
阅读次数:
66
self #self 是相当于c++的 this指针 class Ball: def setName(self,name): self.name = name def kick(self): print('我叫%s'%self.name) ball = Ball() ball.setName('足球 ...
分类:
编程语言 时间:
2019-11-11 18:47:07
阅读次数:
70
1.将类中的对象关联起来 class Person: def __init__(self,name,age,sex): self.name = name self.age = age self.sex = sex self.parter = None #先置空,后面赋值(用于关联对象) def do ...
分类:
编程语言 时间:
2019-11-11 18:21:03
阅读次数:
120
如何在class创建后,给实例绑定属性和方法? (动态绑定/定义) class Student(object): pass s = Student() s.name = 'Michael' # 动态给实例绑定一个属性 def set_age(self, age): # 定义一个函数作为s的实例方法 ...
分类:
编程语言 时间:
2019-11-10 11:58:41
阅读次数:
82
面向对象的编程中可以对运算符进行重载,使运算符可以对该类的实例进行操作。 重载方法的一般格式如下: 1 def __运算符名__(self, other): 2 运算符语句 比较常用的运算符重载有三类:二元算术运算符重载、反向算术运算符重载、比较运算符重载、一元运算符重载 1 二元算术运算符的重载: ...
分类:
编程语言 时间:
2019-11-07 23:57:58
阅读次数:
200
1. 封装的好处: 1. 将变化隔离 2. 便于使用 3. 提高复用性 4. 提高安全性 广义的封装: 实例化一个对象,给对象空间封装一些属性. 狭义的封装: 私有制. 私有成员:私有静态变量,私有方法,私有对象属性 私有静态变量: 实例化对象不能访问私有静态变量 类名不能访问私有静态变量 对于私有 ...
分类:
编程语言 时间:
2019-11-06 13:15:40
阅读次数:
101
一、面向对象和面向过程 面向过程: 核心过程二字,过程即解决问题的步骤,就是先干什么后干什么 基于该思想写程序就好比在这是一条流水线,是一种机械式的思维方式 优点:复杂的过程流程化 缺点:扩展性差 面向对象: 核心是对象二字,对象指特征与技能的结合体 基于该思想编写程序就好比在创造一个世界,世界是由 ...
分类:
编程语言 时间:
2019-11-01 09:18:55
阅读次数:
76