java面向物件的三大特性
阿新 • • 發佈:2018-12-21
1 . 面向物件的三大特性:
Java 作為面向物件程式語言,你得知道OOP的的三大特性封裝、繼承、多型。
封裝的優點
-
1. 良好的封裝能夠減少耦合。
-
2. 類內部的結構可以自由修改。
-
3. 可以對成員變數進行更精確的控制。
-
4. 隱藏資訊,實現細節
如:將Person屬性定義為私有許可權,通過set和get將public許可權進行對外訪問
public class Person{ private String name; private int age; public int getAge(){ return age; } public String getName(){ return name; } public void setAge(int age){ this.age = age; } public void setName(String name){ this.name = name; } }
繼承:能夠繼承父類的public和protected成員變數;不能夠繼承父類的private成員變數。
public abstract class Programmer { public void userLanguage() { System.err.println("編寫語言"); } abstract void sex(); } public class JavaProgrammer extends Programmer{ @Override public void userLanguage() { System.out.println("java語言編寫程式碼"); super.userLanguage(); } @Override void sex() { System.out.println("this is a man"); } } public class SWMain { public static void main(String[] args) { Programmer programmer = new JavaProgrammer(); programmer.userLanguage(); } }
多型分為兩種:重寫式多型和過載式多型,設計到向上轉型和向下轉型。
如:
public class Animal { public void eat(){ System.out.println("animal eatting..."); } } public class Cat extends Animal{ public void eat(){ System.out.println("我吃魚"); } } public class Dog extends Animal{ public void eat(){ System.out.println("我吃骨頭"); } public void run(){ System.out.println("我會跑"); } } public class Main { public static void main(String[] args) { Animal animal = new Cat(); //向上轉型 animal.eat(); animal = new Dog(); animal.eat(); } }