1. 程式人生 > >隨筆—面向物件的 封裝.多型.繼承

隨筆—面向物件的 封裝.多型.繼承

1.面向物件的高階:優化程式設計
   封裝:
     類中如何定義成員變數?
      private   int  num;
     概念
     語法
       3步驟
   繼承:減少冗餘程式碼
      繼承:一個類(子類)繼承另一個類(父類)
     概念
     語法
       extends
      過載??
      final(修飾符)
      static(main方法,static)      
   多型:
       一種事物的多種表現形式
      概念
      語法
        Father fa=new Son();//例項化
        //Son  son=new Son();
    介面:代表能力,一種約定。
       implement interface
    Java語言就是使用面向物件開發出來的。 
      Date      時間
      Calendar  日曆
      Math
      包裝類  Integer Double  Short  Float Boolean
    集合(不同結構不同使用)
    異常 (Exception)
    檔案!IO流
    記憶體(基本資料型別的變數中,引用資料型別的變數中應用)
     int num=9;
     String str="admin";
     Student stu=new Student();
     int[] nums={};
     Student[] stus=new Student[10];
          寫入
    記憶體---------》檔案
        《--------
           讀取
3.封裝
     隱藏成員變數
   1.隱藏成員變數
      將成員變數前加入修飾符private 
      結果:其他類在建立狗的物件的時候,在呼叫成員變數時顯示錯誤。
         The field Dog.name is not visible
    2.建立公有的getter/setter方法
      在此類中建立公有方法
         建立成員變數的賦值方法
           public  void setName(String name1){
           }
           注意:1.方法名稱必須是set+成員變數第一個單詞首字母大寫的成員變數名稱
                 2.方法的引數必須是成員變數的型別
         成員變數的取值方法
            public  String getName(){
               return name;//返回成員變數值 
            }
           注意:1.方法名稱必須是get+成員變數第一個單詞首字母大寫的成員變數名稱
                 2.方法的返回值必須是成員變數的型別(返回的是成員變數裡面的值)
      3.在setter/getter方法中給加入屬性控制 
  4.setter方法的引數名稱和成員變數名稱保持一致。(防止亂起名字)
        this.name=name;
  5.在本類中呼叫自己的成員變數和成員方法的時候,使用this
      this代表當前物件 
  6.特殊方法的第一種。
  
   構造方法:例項化--》建立物件+物件賦成員變數值
  
    Constructor
  
  
    語法
      publlic  類名(){
      
      }
      public Dog(){
      
      }
  
      
     1,建立類的時候都會有一個隱藏的無參構造方法。
     2,建立物件的時候就會調相應的構造方法。
     3,構造方法由於方法名稱相同,因此構造方法的引數定義時注意,
       不要兩個構造方法的傳遞引數一致(順序  型別  個數)。
     4,當你在類中定義有參構造方法,隱藏的無參構造方法失效。
       因此必須在類中顯示定義構造方法
       

     例項化兩種方法
     
     第一種
       Dog dog=new Dog();
       
         dog.setName("");
         dog.setHealth();
         dog.setStrain("");
     第二種
       Dog dog=new Dog("",,"");