21.c/c++程序员面试宝典-面向对象的基本知识

21.c/c++程序员面试宝典-面向对象的基本知识

面向对象的概念是面向过程概念之后推出的,是高级语言的特征,也是当年开发语言的主流。面向对象注意解决的问题有3个,即软件和代码重要性比较差,软件和代码的可维护性比较差及软件不能满足客户的需求。类是面向对象语言最重要的进化,通过将对象抽象为类,编程者可以将具体问题抽象化,极大的增强了软件模型的描述能力。



面试题96  面向对象与面向过程的区别****


分析:面向对象至今还没有统一的概念。在这里把它定义为:按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。通过面向对象的理念使计算机软件系统能与现实世界中的系统一一对应。


对象是指现实世界中各种各样的实体。它可以是指具体的事物也可以指抽象的事物。例如,整数1、10、300、同学、苹果、飞机、规则、法律、表单等。每个对象都有自己的内部状态和运动规律,如阿梁同学具有名字、外表、身高等内部状态,具有吃饭、睡觉、逛街、打球、散步等运动规律。在面向对象概念中编程者把对象的内部状态称为属性、运动规律成为方法或事件。


面向对象设计是把分析阶段得到的需求转变为符合成本和质量要求的、抽象的系统实现方案的过程、从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程。面向对象中任何对象都可以归属于某类对象,任何对象都是某一类对象的实例。类在面向对象中描述了一组具有相同的特性和行为的对象。c++就是一种面向对象的高级语言。


面向过程是一种以过程为中心的编程思想。面向过程分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,在使用的时候一个一个依次调用。面向过程其实是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想。可以说面向过程是一种基础的方法。它考虑的是实际的实现。


一般的面向过程是从上往下步步求精。在面向过程中,最重要的是模块化的思想方法。c语言就是一种典型的面向过程语言。


【答案】面向过程是一种以过程为中心的编程思想,以算法进行驱动。面向对象是一种以对象为中心的编程思想,以消息进行驱动。面向过程编程语言的组成为:程序=算法+数据,面向对象编程语言的组成为:程序=对象+消息。



面试题97  面向对象的特征是什么***


分析:面向对象语言的3个要素为封装、继承和多态。


封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口和特定的访问权限来使用类的成员。


继承是指可以使用现有类的所有功能,继承可以使一个对象直接使用另一个对象的属性和方法,并在无需要重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类”或“派生类”。被继承的类称为“基类”、“父类”或“超类”。继承的过程是从一般到特殊的过程。


多态性是允许将父对象设置成为一个或多个它的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。例如a=b;多态性使得能够利用同一类(基类)类型的指针来引用不同类的对象,以及根据所引用对象的不同,以不同的方式执行相同的操作。


面向对象语言比较面向过程语言有类的概念。类就是把一组具有相同的方法和属性的对象归属为一起。面向对象中,所有对象都可以归属为一个类。


【答案】面向对象的3个要素为:封装、继承和多态。面向对象中所有的对象都可以归属为一个类。


你可能感兴趣的:(C++,C语言)