抽象
生活中的抽象简单理解可以视为艺术的写实画转变成抽象画的过程,这个过程可以称为抽象的过程,即将具体的事物,进行精炼并提取其中关键部分的行为。在生活中,人们能很快的识别出抽象画,就在于关键点的提炼上。如写实派画出的牛,经由抽象作画仅仅画出牛的几何图形,人们也能够认出这是一头牛。
编程意义上的抽象,也是涵盖了精炼并提取关键内容的含义,但是这个抽象更多的指的是一个结果,一个精炼出来的精简体。我们可以简单的这样认为,中国人、韩国人、越南人、美国人 等 简称 人类;鹦鹉、麻雀、鹰 等 简称 鸟类。
面向对象
C语言是面向过程编程的语言,关注的是过程,分析求解问题的步骤,然后通过函数调用逐步解决问题;Java是基于面向对象编程的语言,关注的是对象,将一件事情分为不同的对象,靠对象之间的交互完成目标。
面向过程,关注的是整个解决问题的过程,一个一个的解决问题经过所需要考虑的问题。
面向对象,关注的是对象,也就是参与过程所涉及的主体,通过相关的逻辑将这个对象整合在一起,从而实现功能。
简单而言,就食物装进冰箱这一行为,面向对象编程和面向过程编程的步骤就完全不同。
面向过程的编程思路:
①打开冰箱
②将食物放进冰箱
③关闭冰箱
面向对象的编程思路:
①创建冰箱这个对象,并赋予冰箱相关的功能(开、关、存储等)
②创建食物这个对象,并赋予食物相关的功能(食用、储存等)
③然后构建两者之间的相关逻辑
综上所述,阐述面向对象、类和对象的关系
①面向对象就是一种思考问题的方式,一种思想
②类就是一类对象的统称,对象是这一类具体化的实例
③面向对象将问题简单化,我们每次处理问题所需要考虑的范围缩小
面对对象编程本质上就是:找对象、建对象、使用对象,并维护对象之间的关系。简而言之,面向对象就是使用类描述客观存在的事物的一种方式
对象是类抽象出来的实例,而类是封装对象属性和行为的载体,通常我们将对象分为静态部分和动态部分,静态部分也被称为”属性“,任何对象都会具备其自身的属性,动态部分则是对象的行为;
类中对象的行为是以方法的形式定义的,对象的属性是以成员变量的形式定义的
封装
封装就是将对象的属性和行为封装起来,其载体就是类;通过类向外界展示,这一过程就使得类的使用者不必考虑类的对象的方法的实现具体步骤以及对象的变量类型。简而言之,封装的本质就是让类的调用者不必了解实现者是如何实现类的,只需要知道如何使用类就可以了。