JAVA的OOP基本原理
JAVA的OOP原本只有3个,分别为:封装,继承和多态,后加入抽象,他们是OOP的四大支柱。
抽象
抽象简单来说就是将一个程序整体细分为许多部分,让我们可以选出对象的主要特性,而忽略其他不重要的信息。例如一个学校下分为各个年级,年级又分出许多个班,而班上又分为男生女生,男生女生又分在几个宿舍,宿舍里又有具体的人,就这样一直下分,我们就可以具体到个人,我们要关注年级第一的话,我们就直接找到具体的个人,而不用去关注一整个班,这样我们就能找到对象的主要特性,而忽略其他不重要的因素。
封装
封装,从其字面意思就能知道,是将程序具体实现的方法和类等封装起来,不让使用者知晓其实现的过程,只让他们知道是怎么使用的就行,这样既方便了使用者,又可以保证数据不被故意或者恶意篡改。例如:你去做飞机,你只要买票,去机场,上飞机,到目的地,下飞机就行了,对于飞机的使用,原理,都不需要了解。
继承
继承,在类中是指两个类的关系,子类包含父类的所有方法和实例字段,并且可以自己重写父类的方法。我们可以在原有类的基础上,写出自己想要的类,比如,我有个马的类,但是现在我需要的是天马这个类,我就新创建的天马类,并继承马这个类,然后加上翅膀这个专属于天马类的方法和字段,这就省略了创建马类这个过程。现在我们一般不需要在自己重新从零创造,只需要继承有相似功能的类,然后在添加上自己独有的方法就行,这样即快捷又省事。
多态
多态让我们能够与不同的类的对象进行交互(他们之间有同一个父类),且一般来说,交互的方法不会改变。这种优势当我们的程序很大,类很多时,优势就会越大,因为他们之间的交互会方便许多,而不用创造许多的对象。例如,我是一个人,人是一个接口、一个对象,但是我这个人的身份可以是老板,也可以是员工,也可以是儿子,也可以是父亲,但是我还是我,就是一个对象,却有许多身份,当我在生活中和我的员工,我的儿子,我的父亲交互时,多态的作用就显现出来了,我不用在创建老板,父亲,儿子这些身份,创建这些具体的对象,因为这些身份我都可以表示,可以直接与这些不同的类进行交互。
总结
这就是我理解的OOP基本原理,编程是有规则,和现实中的道德一般,你不遵守,不一定会犯法,但是你不遵守,别人会指责你,四个基本原理都在通过某种方法规范着我们,但在程序越来越大的时候,带给我们巨大的好处,当我们要抽离其中之一时,整个系统就会不稳定。