对类的理解

初学Python,对类的理解

类(class)似乎是这么一个东西:

类自己的属性

类首先得有自己的名字。

继而,类有自己的属性(属性1,属性2,属性3…),其中一些属性是类天生就有的,即Python默认生成的(比如类的名字);而我们也可以自己给这个类定义一些其它的属性。

这就像一个班级,它有一些天生的属性:班级名称、人数、楼层、班主任等,类似上述属性通常是一个班级的基本属性;而我们也可以自己给这个班级定义一些其它的属性:比如平均身高、平均体重、男女比例等。

类的每个属性当然都有一个“属性名称”,同时也有其对应的值,例如,“班级名称”这一属性对应一个字符串,“人数”这一属性对应一个整数。

类的“成员”

一个类可以有一系列的“成员”(也称作对象、实例),成员们具有一定的共性:它们都属于这个类,这就像一个班级中有若干学生,他们都是这个班的,而不是别的班的。

这一结构,似乎是为了防止这一系列的变量(”成员“)被不相干的脚本误用和改动,另外应该也可以方便批量地处理它们,这都可以提高编程的效率。

生成一个属于某类的成员的过程也叫做“实例化”,即生成一个该类的“实例”。

“成员”自己的属性

类有类的属性,成员有成员的属性。用户可以给它定义一系列的属性:身高、体重、性别等等。

这些属性是属于这个成员的,当然,其它成员也有对应的属性。但明显这里的属性并不是类本身的属性:一个班级能有“性别比例”属性,而不会有“性别”属性。成员自己的属性,自然也有各自的“属性名称”,以及每个属性对应的值。

这样一来似乎就形成了这么一个结构:某类(按名找类),有某成员(按名找成员),该成员有某属性(按名找属性),该属性有值。即:类→成员→属性→值。

而前文提到的类自己的类属性的结构是:类→类的属性→值。

小结

这里仅是从数据结构的角度来考虑了类是个什么东西。

方法(定义于类内部的,适用于类对象函数)可能是类更重要的作用和设计目的,有待将来的学习中进一步理解。

如果没有“类”这个东西(的数据结构),我在编程的时候会根据情况预先定义出一系列的n维矩阵,并早早地计划好哪个小格子里放什么东西,并在之后几千几万行的开发过程中一直清楚地记得这几十万个变量分别放在哪个矩阵的哪个位置。呃,过去的我似乎一直都是这么干的…

”类“是面向对象(object oriented)程序设计风格的重要概念。

结束语

这是一个没接触过编程的门外汉在初学阶段用来整理思路的文档,欢迎批评指正!

猜你喜欢

转载自blog.csdn.net/mywang88/article/details/79984301
今日推荐