在面向对象的软件开发过程中,开发者的主要任务就是先建立模拟问题领域的对象模型,然后通过程序代码来实现对象模型,并且能保证软件系统的可重用性、可扩展性和可维护性。
1.问题领域,对象,属性,状态,行为,方法,实现
问题领域:是指软件系统所模拟的真实世界中的系统。比如学校,医院,商场某银行,电影摄制组,太阳系。
对象:是对问题领域中事物的抽象。
1.万物皆对象问题领域中的实体和概念都可以抽象为对象。比如学校领域,对象包括学生,老师,成绩单,课程,教室。
2.每个对象都是唯一的。例如学校领域的学生中,每一位学生都是唯一的。
3.对象具有属性,状态,行为。
4.对象都属于某个类,每个对象都是某个类的实例。
2.类,类型
类是一组用来描述一类具有相同特征(属性)和相同行为(方法)的对象。
3.接口
对象通过接口向外提供服务。
4.封装,透明
封装:是指隐藏对象的属性和实现细节,仅仅对外公开接口。
5.抽象
所谓的抽象,就是把同一类事物中共有的特征(属性)和行为(功能、方法)进行抽取,归纳,总结。
6.继承,扩展,覆盖
程序中的继承是指子类拥有父类的全部的属性和方法,这是类之间的一种关系。同时,子类还可以扩展出新的属性和方法,还可以覆盖父类中方法的实现方式