题目: 面向对象的特征有哪些方面?
解析:面向对象编程语言有继承、封装、抽象,多态等4个方面的特征。
1 封装
封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件的“高内聚、低耦合”,防止程序相互依赖性而带来的变动影响。在面向对象的编程语言中,对象是封装的基本单位,面向对象的封装比传统语言的封装更加的清晰,更为有力。
面向对象的封装就是把描述一个对象的属性和行为的代码封装在一个“一个模块”中,也就是一个类中,属性用变量定义,行为用方法定义,方法可以直接访问同一个对象的属性。
通常情况下,只要记住让变量和访问这个变量的方法放在一起,将一个类中的成员变量全部定义成私有的,只有这个类自己的方法才可以访问到这些成员变量,这基本上实现了对象的封装,就很容易找出要分配到这个类上的方法了,就基本上算是会面向对象编程了。
把握一个原则:把对同一事物进行操作的方法和相关的方法放在同一个类中,把方法和它操作的数据放在同一个类中。
2 抽象
抽象就是找出一些事物的相似和共性之处,然后将这写事物归为一个类,这个类只考虑这些事物的相似性和共性之处,并且会忽略与当前主题和目标无关的那些方面,将注意力集中在与当前目标有关的方面。
例如,看到一只蚂蚁和大象,我们能够想象处他们的相同之处,那就是抽象。抽象包括行为抽象和状态抽象两个方面。
例如,定义一个Person类:
class Person { String name; int age};
人本来是很复杂的事物,有很多方面,但因为当前系统只需要了解人的姓名和年龄,所以上面定义的类中只包含姓名和年龄这个两个属性,这就是一种抽象,使用抽象可以避免考虑一些与目标无关的细节。我对抽象的理解就是不要用显微镜去看一个事物的所有方面,这样涉及的内容太多,而是要善于划分问题边界,当前系统需要什么,就只考虑什么。
(未完)