Java是一種面向對象編程語言,其最大的特點在于將具體的事物進行抽象,從而實現代碼復用、代碼可維護等優勢。
在Java中,顏色和形狀也被抽象成為對象來進行處理。
/** * 形狀類 */ abstract class Shape { protected Color color; public Shape(Color color) { this.color = color; } abstract void draw(); } /** * 顏色類 */ class Color { private int r, g, b; public Color(int r, int g, int b) { this.r = r; this.g = g; this.b = b; } // 略去getter和setter } /** * 圓形類 */ class Circle extends Shape { private int x, y, radius; public Circle(Color color, int x, int y, int radius) { super(color); this.x = x; this.y = y; this.radius = radius; } @Override void draw() { // 繪制圓形代碼 System.out.println("繪制圓形"); } } /** * 矩形類 */ class Rectangle extends Shape { private int x, y, width, height; public Rectangle(Color color, int x, int y, int width, int height) { super(color); this.x = x; this.y = y; this.width = width; this.height = height; } @Override void draw() { // 繪制矩形代碼 System.out.println("繪制矩形"); } }
在上面的代碼中,我們使用抽象類Shape來表示形狀,并使用抽象方法draw()來繪制具體的形狀。由于每個形狀都有自己的顏色,因此我們在Shape類中定義了一個Color對象。
另外,我們使用了Color類來表示顏色。在Color類中,我們使用三個整型變量r、g、b來表示紅、綠、藍三個顏色分量。
在Circle和Rectangle類中,我們分別繼承了Shape類,并在構造函數中傳入顏色和具體的形狀參數。在draw()方法中,我們將繪制具體的形狀的代碼留給子類來實現。
通過這種面向對象的方式,我們可以更加方便地處理顏色和形狀,可以實現顏色和形狀的復用,并且也更加容易進行代碼的維護。
下一篇div上方距離