发布于 2024-11-05 50 次阅读


面对对象?(我没有对象啊)

常常听闻这个编程语言,这个编程语言是一种面对对象的编程语言,可是学了半天还是找不到对象。(小声:看来程序猿注定一辈子只能与代码为伴吧)

在我学习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类,里面拥有一堆属性与方法,然后通过实例化来使用这个类,可大幅度提高代码的复用与可读性。

上课了,我给溜了,剩下的就交给聪明的你去参悟与思考了。