面对对象?(我没有对象啊)
常常听闻这个编程语言,这个编程语言是一种面对对象的编程语言,可是学了半天还是找不到对象。(小声:看来程序猿注定一辈子只能与代码为伴吧)
在我学习C++++的时候,听到的最多的一句话就是这是一门面对对象的编程语言,可惜的是,在我断断续续学习了那么久之后还是不能太过理解这个概念,在今天学习Python的时候,这个概念又被提了出了,我觉得很是有必要理清一下我的思绪了。
让我们先来看看较为正式的定义吧(某百科,我也不知道哪个百科)

是不是有些晦涩难懂?别担心,我也看不懂。

但是这并不妨碍我们进行学习,越晦涩难懂的知识就越有价值去攻克它。
类与对象
在Programming C#第四版中说:“面对对象编程的核心就是创造新的类型。”那么什么是类型呢?简单来说就是一个事物,它包含着他的属性以及一些行为。例如学生(属于是经典例子了),他的属性就有名字,年龄,学号等内容,他的行为就有吃饭,睡觉,打豆豆等(别问我为啥打豆豆)。那么这个学生他就是一个类,代表着学生这个群体。我们来看编程实例吧。
class Student(object):
#在Python中我们定义了一个Student类
def __init__(self,name,age):
self.name = name
self.age = age
#这里我们为学生这个对象绑定name与age这两个属性
def message():
print('name:%s,age:%s'%(self.name,self.age))
#这里我们定义了个message方法,这个方法打印出了学生姓名与年龄
可是这又与对象有什么关系呢?不急,我们慢慢往下看。在有了学生这个群体之后,显而易见,并不是所有的学生都是一样的,每个学生都是独一无二的个体,这时候其中的每一位学生就是一个实例
def main():
stu1=Student('李华',18)
#这里创建了一个实例stu1
stu1.message()
#调用此实例中的message方法
if __name__='__main__':
main()
所以,面对对象就是面对Student类,里面拥有一堆属性与方法,然后通过实例化来使用这个类,可大幅度提高代码的复用与可读性。
上课了,我给溜了,剩下的就交给聪明的你去参悟与思考了。

Comments NOTHING