多态(父類指向子類對象)中成員的特點:
非靜态成員函數特點:
編譯時期:參閱引用型變量所屬的類中是否有調用的方法。若有,則編譯通過,如果沒有,編譯失敗。
運作時期:參閱對象所屬的類中是否有調用的方法
簡單總結:成員函數在多态調用時編譯看左邊,運作看右邊
以下程式設計一般用不到:
成員變量特點:
無論編譯和運作,都參考左邊(引用型變量所屬的類)
在多态中,靜态成員函數的特點:
///////////////////////////////////////////////////////////////////////
需求:資料庫的操作
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();