类、属性、方法、实例
是我第一遍看书的过程中非常懵圈的知识点,不得不承认:类是编程中的重中之重,在Python
中也不例外。所以在接下来的几篇札记中将会重点介绍这几个概念和知识,是笔者的一丝拙见,如有不妥之处,恳请大佬们指出。
- 面向对象
- 类
- 实例
- 属性
术语
在解释面向对象之前,先了解几个术语:
-
问题空间:问题解决者对一个问题所达到的全部认识状态,由问题解决者利用问题所包含的信息和已贮存的信息主动构成的。
-
问题构成的三要素构成了问题空间
- 初始状态
- 目标状态
- 操作
-
对象:Object,既表示客观世界问题空间的某个具体的事务,也表示系统软件中的基本元素。
Python中一切皆是对象:
字符串、函数、模块或者类都是对象。OOP
大师Grandy Booch
关于对象的几大要素解释:- 对象:一个对象有自己的状态、行为和唯一标识符
- 状态(State):包含对象已有的属性和对象具有的当前属性值,这些属性往往是动态的。
- 行为(Behavior):表示一个对象如何影响外界和被外界影响,表现为对象自身状态的改变和信息的传递。
- 标识(Identity):一个对象所有的区别于其他对象的属性,通常是指在内存中的所创建的对象的地址
总结:对象具有方法(上面的行为)和属性(上面的状态)和标识。任何一个对象都有属性(是什么)和方法(能做什么)
面向对象
面向对象也是面向对象程序设计(
Object Oriented Programming
),它是一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用型、灵活性和可扩展型。OOP = 对象 + 类 + 继承 + 多态 + 消息
,其中核心概念是类
和对象
。
面向对象程序设计
类class
在面向对象程序设计中,类是一种面向对象计算机编程语言的构造,是创建对象的蓝图,描述了所创建对象的属性和方法。类是某种特定的元数据所组成的内聚的包.......(巴拉巴拉小魔仙,变身!)
- 类描述了对象的行为规范,
对象称之为类的实例
- 类有接口和结构。
- 接口描述通过方法与类及其实例进行操作
- 结构描述一个实例中的数据如何划分为多个属性
-
面向对象程序设计的三大特性
- 封装性
- 继承性
- 多态性
编写类
类是某一群具有相同属性和方法的对象的集合
。下面引用齐伟
老师书中一个例子来说明:
# 定义一个 美女的类
class 美女:
胸围 = 80
腰围 = 55
臀围 = 85
皮肤 = white # 没有括号的都是属性
唱歌() # 加上括号的都是方法
做饭()
- 定义一个
美女
类,关键字class开头,后面是类名字 - 没有括号的是属性,有括号的是方法
- 来一个具体的美女:
周美女 = 美女()
,就是周美女
就是一个实例。 - 实例拥有类的所有属性和方法,可以进行一些增查改的操作:
- 查属性:
a = 周美女.胸围
,a就是80 - 改属性值:
周美女.皮肤 = black
- 增加属性:
周美女.头发 = yellow
- 查属性:
- 访问某个方法:
周美女.做饭()
总结
- 类:拥有属性和方法某类群体的集合
- 实例:类的具体化,实例化
- 属性:不带括号
- 方法:带括号
网友评论