给读者(if there's any)
首先声明**这不是一个完整的、专业的JAVA教程!
本人非计算机专业,是只学过一学期JAVA的菜鸟,时隔半年和JAVA可说是若如初见,写这篇笔记的主要目的是为下学期学习数据结构打好基础(距离开学只剩4天了!!)。因为只是复习笔记,实际上只是记录了一些我自己了解得不够透彻的知识点,其中许多是以易于理解但并不严谨的语句写的。
之前仅使用简书来阅读,今天第一次登录用它做笔记的原因是它的编辑器支持markdown(结果第一次发布之后发现markdown的部分为毛并没有生效。。。。是一定要用上面的按钮吗不!!而且我找不到预览模式哭瞎了),比较易于记录代码片段。好了废话切断开始复习!
***
可以说面对对象编程是为了模拟现实生活中的事物,从而使人以最自然的思维方式看待程序.
基本理论包括:
类class- 也就是“种类”、“类别”,例如哺乳动物、禽、兽(- -)等。类定义了此类中的对象的数据以及他们能够执行的动作。例如禽类的定义中可能有:重量(数据)、吃(动作)等。
对象object - 对象是类中的实例,比如鸡是禽类中的一个实例,狮子是兽类中的一个实例
消息传递Message Passing
引用维基百科中的描述
一个对象通过接受消息、处理消息、传出消息或使用其他类的方法来实现一定功能,这叫做消息传递机制。
唔,我还没搞明白,大概是说要使用对象名称.方法名称()这种格式来执行?
继承Inheritance
这涉及到当一个类有子类(subclass)的时候,subclass会继承父类(superclass)的所有属性。例如,人和猩猩都是哺乳类,哺乳类的共同特征是:温血、具备毛囊和汗腺等。人和猩猩作为哺乳类的子类,继承了哺乳类的所有属性,并且还可具备比父类更多的信息和动作。例如哺乳动物可以爬行,人类和猩猩也可以爬,人类还能直立行走,用电脑,还能用电脑记笔记,猩猩还可以接受挑衅并冲向与之直视的人物、动物等。
封装性Encapsulation
简而言之就是把东西装进黑匣子里,例如我正在使用杯子喝水、喝牛奶、喝果汁,而我并不需要知道这个杯子是如何制作的。再简单点儿说就是私有变量公共方法private variables public methods
多态Polymorphism
>是指由继承而产生的相关的不同的类,其对象对同一消息会做出不同的响应。例如,狗和鸡都有“叫()”这一方法,但是调用狗的“叫()”,狗会吠叫;调用鸡的“叫()”,鸡则会啼叫。维基百科(天啊好懒开始复制粘贴了)
抽象化Abstraction
抽象化是为了简化程序的复杂程度。简而言之,如果在某一设定下,人类只需要爬行,那么你完全可以把人类作为哺乳动物来看待,这样就省去了一大批在这里无用的细节,例如"用电脑记笔记"。