java面向对象这一块我老是搞不懂,你们有什么好的学习方法可以告诉我吗

java面向对象这一块我老是搞不懂,你们有什么好的学习方法可以告诉我吗或者有没有面向对象这一块所有关键字的概念含义用法的集合可以发给我。蟹蟹。

一、对象

1
现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,如人类、书桌、计算机、高楼大厦等。人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的。通常都会将对象划分为两个部分,即动态部分与静态部分。静态部分,顾名思义就是不能动的部分,这个部分被称为“属性”,任何对象都会具备其自身属性,如一个人,它包括高矮、胖瘦、性别、年龄等属性。然而具有这些属性的人会执行哪些动作也是一个值得探讨的部分,这个人可以哭泣、微笑、说话、行走,这些是这个人具备的行为(动态部分),人类通过探讨对象的属性和观察对象的行为了解对象。

END
二、类

1
类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类。例如一个鸟类,鸟类封装了所有鸟的共同属性和应具有的行为,其结构如图所示:

END
三、封装

1
封装是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。例如,用户使用电脑,只需要使用手指敲击键盘就可以实现一些功能,用户无须知道电脑内部是如何工作的,即使用户可能碰巧知道电脑的工作原理,但在使用电脑时并不完全依赖于电脑工作原理这些细节。

END
四、继承

1
类与类之间同样具有关系,如一个百货公司类与销售员类相联系,类之间这种关系被称为关联。关联是描述两个类之间的一般二元关系,例如一个百货公司类与销售员类就是一个关联,再比如学生类以及教师类也是一个关联。两个类之间的关系有很多种,继承是关联中的一种。

END
五、多态

1
多态性允许以统一的风格编写程序,以处理种类繁多的已存在的类以及相关类。该统一风格可以由父类来实现,根据父类统一风格的处理,就可以实例化子类的对象。由于整个事件的处理都只依赖于父类的方法,所以日后只要维护和调整父类的方法即可,这样降低了维护的难度,节省了时间。
在提到多态的同时,不得不提到抽象类和接口,因为多态的实现并不依赖具体类,而是依赖于抽象类和接口。追问

然而你这是复制粘贴的……我刚刚百度搜到这个了2333

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-10-23
答:把书本上面的简单例子看懂,其实就是定义一个类,类包括属性和方法。然后在主函数中定义一个类的对象,再用这个对象去调用类的方法来实现相关功能
第2个回答  2016-10-23
说一说面向对象的三大特性吧
一般开发语言基本分为面向对象和面向流程两部分
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

相似回答