问题:简述Java面向对象的特点
解析:
在回答这类概念性比较强的问题的时候,一般我们在做概念阐述的时候,增加一个实际的应用例子,效果会比较好。
答案:
1. 封装
- 概念
将对象封装成一个高度自治和相对封闭的个体,对象状态(属性)由这个对象自己的行为(方法)来读取和改变。 - 举个例子
以手机为例,在使用功能机的时代,电池大多数都是可以拆卸的。用户随意拆卸手机电池会导致很多的电池事故,不安全。而智能机时候,手机基本对电池进行了封装,即多为的一体机。来降低电池事故发生。这里就是使用了封装的思想。
封装为对象提供了黑箱特征,保证了数据的安全性和模块化。
2. 抽象
- 概念
抽象就是找出一些事物的相似和共性之处,然后将这些事物归为一个类,这个类之考虑这些事物的相似和共性指出,忽略与当前主题无关的部分。 - 举个例子
我们在对数据可以数据进行操作的时候,经常会使用到JavaBean,这里就抽象的很好说明。
比如我们要在数据库存储网络爬去的图片的信息,其中包括图片的标题和URL地址,这里我们可以抽象出Picture类,封装这两个信息。而实际图片有很多的属性,这里我们都不去关注。这就是抽象的思想。
3. 继承
- 概念
在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,把这个已经存在的类定义的内容作为自己的内容,并可以加入若干新的内容,或者改变原来的方式使之更加适用于当前需求,这就是继承。继承的主要作用是提高代码的复用性。 - 举个例子
生活中的父子关系就是继承的很好的例子。这里包含了属性的继承(财产),和方法的继承(赚钱方式–技能)。我们可以获取父辈的这写东西,也可以对方法进行增强,也可以增加自己的方法。
4. 多态
- 概念
多态式之程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法,调用的编程时并不确定,而是在程序运行的期才存在,才可以确定指向的具体的实例对象和调用的方法。 - 实现多态需要满足的条件
- 继承
- 重写父类的方法
- 父类的引用指向子类的对象
满足了以上的条件时候,才可实现多态。实现多态其实是类型的向上转型。主要作用是,在接口实现多态的时候。可以我们用接口接收实现类的实例,方便我们对外提供统一接口。