这两天预习Java面向对象,一开始真的觉得特别玄乎,总觉得“对象”这个词离代码很远,直到用“模具和成品”这个比喻一想,瞬间就通了。
以前写C语言都是面向过程,就像手把手教电脑做事,一步都不能漏。比如写个简单的学生信息打印,每个学生都要单独定义名字、年龄变量,再写一遍打印的代码,稍微多几个学生就重复得要命,改一个地方还要到处找。
而面向对象完全是反过来的思路:先造一个通用的“学生”模具(也就是类),规定好所有学生都有名字、学号、年龄这些特征(属性),都能上课、写作业、打印信息这些动作(行为)。然后用这个模具,就能批量做出一个个具体的学生对象,比如我、张三、李四。
每个对象都是独立的,张三的名字不会影响李四的年龄。我只要对着具体的对象说“去打印你的信息”“去写作业”就行,不用每次都重新写一遍这些功能的代码。
它最妙的地方就是和我们平时看世界的方式一模一样,把复杂的问题拆成一个个独立的“东西”,代码一下子就变得清晰有条理,再也不会像之前那样变量满天飞了。
