说一说面向对象的三大特性吧
一般开发语言基本分为面向对象和面向流程两部分
C++ C♯与java属于认知比较广的三个面向对象语言
面向对象相比面向流程更注重对象 有“万物皆对象”之说
面向对象有三大特点 封装继承多态性
Java的封装是非常著名的 一些非常入门的java程序员对于一个需要向外提供的变量a会这么写
public int a; 将a定义为public的变量
而用到封装 这行代码就变成了
private int a;
public int geta(){
return this.a;
}
public void seta(int a){
this.a = a;
}
这样的好处是能更方便有效的管理变量并保护它 关于这两者的区别有一个例子
某java程序作为API向外提供了一个可控变量 不需要关心什么用 但需要知道这个变量a>0
非封装的情况下如果直接a=-1;显然会出问题
封装的话可以在set方法中加入控制 使得这种问题不会发生
继承在大部分情况下起到了约束与规范的作用 多态性的解释则是
“同一个事件发生在不同的对象上会产生不同的结果。” 摘自某网站
之前某人的回复已经很好的说出了继承与多态的作用 所以我只给出封装的例子
继承和多态比封装更抽象一点 具体实现也比较长 也并不能在这里赘述
可以看出的是 这三点都有增加面向对象的扩容性的能力
仅以mc举例 它同样是java的游戏 而且它的扩展开发也很有代表性
mc的mod开发依托于一个名叫“forge”的系统 它对开发者提供了对原版进行修改的能力,不需要了解它是如何工作的,也不需要了解如何使用。在mod开发里显然是对于原版mc的一个扩展 而面向对象的特性使它更容易进行扩展,让它开放
仅以我的看法来说 这三个特性让代码更整齐美观 当然只是个人 不一定所有人都喜欢这样 而且并不是面向对象三个特性的原主旨
关于java的学习的话 第一是要把基础理解 不需要理解太透 之后是多实践 不会的问题要积极搜索 同时将相关内容仔细学习 基础这时候也会完善 之后可以挑战一些对自己来说比较大的项目 可以先自己独立尝试完成 基本来说就是这个样子循环下去 毕竟开发的学习永无止境
追问是写了挺多的然而并不是我要问的东西2333