目的
经历过一次面试,本以为面试官会问一些技术问题,进场之前还有点紧张。万万没想到面试官问的问题都是一些理论。开发的都有这种感觉。自己明明是懂的,却讲不出一个很标准的术语解释来。只好此刻当文科生,记下来作为了解。
javase
类
类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。
对象
所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。
面向对象和面向过程
面向对象是java的一大特点,面向对象编程,即OOP,是一种编程范式,满足面向对象编程的语言,一般会提供类、封装、继承等语法和概念来辅助我们进行面向对象编程;面向对象是基于万物皆对象这个哲学观点. 所谓的面向对象就是将我们的程序模块化,对象化,把具体事物的特性属性和通过这些属性来实现一些动作的具体方法放到一个类里面;面向对象有三个主要的特征:继承,封装,多态。
封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的类。它们的目的都是为了---代码重用。
而多态则是为了实现另一个目的---接口重用。
面向对象的代码更加支持重用,能降低软件开发和维护的成本,提高软件的质量。
1.继承:子类可以使用父类的所有功能,并且对这些功能进行扩展。继承的过程,就是从一般到特殊的过程。
2.封装:把客观事物封装成抽象的类,隐藏属性和方法的实现细节,仅对外公开接口。
3.接口的多种不同的实现方式即为多态。同一操作作用于不同的对象,产生不同的执行结果。在运行时,通过指向基类的指针或引用来调用派生类中的虚函数来实现多态。
面向过程编程是一种以过程为中心的编程思想,分析出解决问题的步骤,然后用函数把这些步骤一步一步实现。面向过程编程,数据和对数据的操作是分离的。