面向对象原理详解:https://codegym.cc/groups/posts/oop-principles
面向对象代码例子:https://codegym.cc/groups/posts/159-principles-of-oop
(下面可不看)
面向对象的编程 (OOP) 四大支柱:
- 抽象:把庞大的东西拆分成多个细小的部分。就程序员而言,抽象就是把一个程序妥善地分成多个对象。一个大程序通常是多个对象通过各种各样的方法进行交互。通过抽象,你可以选出一个对象的主要特性,忽视其他不重要的信息。
- 封装:**封装主要是通过简化对象来提高对象之间的交互。**从程序设计角度来说,封装就是“把实现隐藏起来”。我们的类包含成百上千个方法,在不同的情境里实现高度复杂的行为。但是,我们可以把这些方法全部隐藏起来(标为 private 即可),只留 2 到 3 个方法用于与其他类进行交互(标为 public 即可)。之后,我们程序里的所有其他类都只能看到(和调用)这类里为数不多的几个方法。类的复杂性都被藏起来了,就像飞机上快乐的旅客都看不到驾驶舱一样。
- 继承:在一个类的基础上来创造出一个新类。新类就会成为现有类的子类(继承人)。如果有一个类,你想要的 80-90% 的数据和方法都在里面,这时,继承就会非常有用。我们只要简单地声明某个适用的类是新类的父类即可。父类所有的数据和方法就自动成为新类的一部分。
- 多态:多态让我们能够与不同类的对象进行交互(这些类有同一个父类),且交互方法不变。多态的重要性不容小觑。程序越大,多态就越重要。
模板类(X,Y)可以是任意对象(Integer,String,等)
定义方法相似: