1.面向对象的思想主要包括什么?
封装:用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内部。
继承:子类拥有父类的所有数据和操作。
多态:一个程序中同名的不同方法共存的情况。
2.什么是对象,什么是类,对象与类之间的关系怎样?实际编程中,如何确定和划分一个类?
答:类的概念:在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。
对象的概念:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。从更抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。客观世界是由对象和对象之间的联系组成的。
类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类.类描述了一组有相同特性(属性)和相同行为(方法)的对象。
3.为何使用继承?
答:1.使用继承可以最大化地复用原来的代码,减少代码的冗余,提高程序的高内聚性和开发速度。
2.积累可能会被程序的其他部分或者其他程序使用,而我们想为那些已经使用该基类型的对象完整地保留其原始的行为。
3.基类可能是一个抽象类,它是专门为充当基类而设计的?
4.继承能更好的利用面向对象的编程方法,构造类的层次结构。
4.在创建派生类对象时,如果派生类又有成员对象,则先执行基类的构造函数,再执行成员对象类的构造函数,最后执行派生类的构造函数。