天天看點

(33)多态中成員的特點

多态(父類指向子類對象)中成員的特點:

非靜态成員函數特點:

            編譯時期:參閱引用型變量所屬的類中是否有調用的方法。若有,則編譯通過,如果沒有,編譯失敗。

            運作時期:參閱對象所屬的類中是否有調用的方法

簡單總結:成員函數在多态調用時編譯看左邊,運作看右邊

以下程式設計一般用不到:

成員變量特點:

           無論編譯和運作,都參考左邊(引用型變量所屬的類)

在多态中,靜态成員函數的特點:

///////////////////////////////////////////////////////////////////////

需求:資料庫的操作

1連接配接資料庫JDBC,hibernate

2操作資料庫c((create)r(read)u(update)d(delete)

3關閉資料庫連接配接

資料是:使用者資訊

Class UserInfoByJDBC

{

       public void add(User user)

          {

            1.JDBC連接配接資料庫

            2使用sql添加語句添加資料

            3關閉連接配接

          }

       public void delete(User user)

            2使用sql添加語句删除資料

}

Class UserInfoByHibernate

            1.Hibernate連接配接資料庫

Class DBoperate

Main:

  UserInfoByJDBC ui=new UserInfoByJDBC();

Ui.add(user);

Ui.delete(user);

////////////////////////////////////////////////////////////對以上代碼優化

Interface  UserInfoDao

  public void add(User user);

   public void delete(User user);

Class UserInfoByJDBC implements UserInfoDao

Class UserInfoByHibernate  implements UserInfoDao

接口的好處:降低耦合性

  UserInfoDao  ui=new UserInfoByJDBC();

UserInfoDao  ui=new UserInfoByHibernate();