学习一下编程模式就知道 ,就了解接口了。 看看集合类的api也行 。接口 提高代码的重用率。
减低耦合性。
减低耦合性。
解决方案 »
- spring3整合hibernate使用XML配置事务处理时总报错,请高手进来看看。
- websphere部署应用为什么那么慢
- compareTo比较器进行排序的问题
- 我想以后走软件或者网络方向,现在关于选课,想请教下这里的大虾门
- 一个关于求素数的程序的问题
- 如何写用eclipse + tomcat5.0 连接SQL SERVER200的连接字符串呢?
- 请教一个比较难的问题
- WebLogic8.1服务无法启动,详细错误请进,在线等待!
- win安装jserv的时候,提示需要jsdk2.0缺少jsdk.jar文件,怎么办??SOS!!
- 写xml文件时用到 import javax.xml.transform.*; 但是找不到transform 包,jbuilder5里是不是不包含?
- 请教一个hibernate多表查询的问题
- 关于mina的messageReceived方法未调用的异常
继承IBaseDao接口的接口不是还要重写IBaseDao接口中的的抽象方法吗?对吧!继承后还要重写父接口的方法,岂不是起不到代码重用的作用。应该这样做只是为了层次分明吧!!
继承IBaseDao接口的接口不是还要重写IBaseDao接口中的的抽象方法吗?对吧!继承后还要重写父接口的方法,岂不是起不到代码重用的作用。应该这样做只是为了层次分明吧!!
重写是根据需求来的,也可以不重写啊谁说一定要重写了?我在IbaseDao定义了所有常用接口。。我继承之后接口就可以用。。一般是我的接口继承IBaseDao,我的类实现IbasezDao并继承IBaseDao的实现类。。这一点在继承泛型对象时特别方便方法调用。可以说我的dao的接口和实现类不需要写任何代码就可以使用父类接口的方法了。
extends
implements
继承IBaseDao接口的接口不是还要重写IBaseDao接口中的的抽象方法吗?对吧!继承后还要重写父接口的方法,岂不是起不到代码重用的作用。应该这样做只是为了层次分明吧!!
重写是根据需求来的,也可以不重写啊谁说一定要重写了?我在IbaseDao定义了所有常用接口。。我继承之后接口就可以用。。一般是我的接口继承IBaseDao,我的类实现IbasezDao并继承IBaseDao的实现类。。这一点在继承泛型对象时特别方便方法调用。可以说我的dao的接口和实现类不需要写任何代码就可以使用父类接口的方法了。我知道不用一定要重写,但你肯定会重写父接口一个方法吧!那么这时候是不是违法了继承的原则性。继承就是为了不用再去重写父接口的东西,才起着意义。
继承IBaseDao接口的接口不是还要重写IBaseDao接口中的的抽象方法吗?对吧!继承后还要重写父接口的方法,岂不是起不到代码重用的作用。应该这样做只是为了层次分明吧!!
重写是根据需求来的,也可以不重写啊谁说一定要重写了?我在IbaseDao定义了所有常用接口。。我继承之后接口就可以用。。一般是我的接口继承IBaseDao,我的类实现IbasezDao并继承IBaseDao的实现类。。这一点在继承泛型对象时特别方便方法调用。可以说我的dao的接口和实现类不需要写任何代码就可以使用父类接口的方法了。我知道不用一定要重写,但你肯定会重写父接口一个方法吧!那么这时候是不是违法了继承的原则性。继承就是为了不用再去重写父接口的东西,才起着意义。
为什么要重写父接口的方法,我继承之后什么都不用写,直接用。不知道你哪里不理解,给你看个栗子:public interface IBaseDao<T>
{
public T add(T t); public void update(T t); public void delete(int id); …… 等等省略
public interface YdAccountDao extends IBaseDao<YdAccount>{
//这里什么都不写.如果有需求可以继续写自己的业务方法
}
继承IBaseDao接口的接口不是还要重写IBaseDao接口中的的抽象方法吗?对吧!继承后还要重写父接口的方法,岂不是起不到代码重用的作用。应该这样做只是为了层次分明吧!!
重写是根据需求来的,也可以不重写啊谁说一定要重写了?我在IbaseDao定义了所有常用接口。。我继承之后接口就可以用。。一般是我的接口继承IBaseDao,我的类实现IbasezDao并继承IBaseDao的实现类。。这一点在继承泛型对象时特别方便方法调用。可以说我的dao的接口和实现类不需要写任何代码就可以使用父类接口的方法了。我知道不用一定要重写,但你肯定会重写父接口一个方法吧!那么这时候是不是违法了继承的原则性。继承就是为了不用再去重写父接口的东西,才起着意义。
为什么要重写父接口的方法,我继承之后什么都不用写,直接用。不知道你哪里不理解,给你看个栗子:public interface IBaseDao<T>
{
public T add(T t); public void update(T t); public void delete(int id); …… 等等省略
public interface YdAccountDao extends IBaseDao<YdAccount>{
//这里什么都不写.如果有需求可以继续写自己的业务方法
}
理解了!谢谢!!!!!!请看我在13楼提的问题
User 接口的id方法的2.接口的意义更多的在于统一性,层次性。方便调用,对于下层,即调用层来说,具有很大的便利性,比如JDBC规范,不同的数据库厂商实现了JDBC,那么无论数据库是什么,对于使用者来说是没有区别的。接口体现的是面对象编程的三大特征中的多态,针对一个接口,可以有多种形势的实现。3.继承的意义在于代码的重用,以及类关系的层次化。
继承IBaseDao接口的接口不是还要重写IBaseDao接口中的的抽象方法吗?对吧!继承后还要重写父接口的方法,岂不是起不到代码重用的作用。应该这样做只是为了层次分明吧!!
重写是根据需求来的,也可以不重写啊谁说一定要重写了?我在IbaseDao定义了所有常用接口。。我继承之后接口就可以用。。一般是我的接口继承IBaseDao,我的类实现IbasezDao并继承IBaseDao的实现类。。这一点在继承泛型对象时特别方便方法调用。可以说我的dao的接口和实现类不需要写任何代码就可以使用父类接口的方法了。我知道不用一定要重写,但你肯定会重写父接口一个方法吧!那么这时候是不是违法了继承的原则性。继承就是为了不用再去重写父接口的东西,才起着意义。
为什么要重写父接口的方法,我继承之后什么都不用写,直接用。不知道你哪里不理解,给你看个栗子:public interface IBaseDao<T>
{
public T add(T t); public void update(T t); public void delete(int id); …… 等等省略
public interface YdAccountDao extends IBaseDao<YdAccount>{
//这里什么都不写.如果有需求可以继续写自己的业务方法
}
还是不理解这段代码有什么意义。接口就是功能定义的集合,可以用来定义规范。这段代码既没有增加新功能,也没有描述新规范,有什么存在的必要呢?
继承IBaseDao接口的接口不是还要重写IBaseDao接口中的的抽象方法吗?对吧!继承后还要重写父接口的方法,岂不是起不到代码重用的作用。应该这样做只是为了层次分明吧!!
重写是根据需求来的,也可以不重写啊谁说一定要重写了?我在IbaseDao定义了所有常用接口。。我继承之后接口就可以用。。一般是我的接口继承IBaseDao,我的类实现IbasezDao并继承IBaseDao的实现类。。这一点在继承泛型对象时特别方便方法调用。可以说我的dao的接口和实现类不需要写任何代码就可以使用父类接口的方法了。我知道不用一定要重写,但你肯定会重写父接口一个方法吧!那么这时候是不是违法了继承的原则性。继承就是为了不用再去重写父接口的东西,才起着意义。
为什么要重写父接口的方法,我继承之后什么都不用写,直接用。不知道你哪里不理解,给你看个栗子:public interface IBaseDao<T>
{
public T add(T t); public void update(T t); public void delete(int id); …… 等等省略
public interface YdAccountDao extends IBaseDao<YdAccount>{
//这里什么都不写.如果有需求可以继续写自己的业务方法
}
还是不理解这段代码有什么意义。接口就是功能定义的集合,可以用来定义规范。这段代码既没有增加新功能,也没有描述新规范,有什么存在的必要呢?
public T add(T t);
public void update(T t);
public void delete(int id);
这些不是功能吗?你还要什么功能?
继承IBaseDao接口的接口不是还要重写IBaseDao接口中的的抽象方法吗?对吧!继承后还要重写父接口的方法,岂不是起不到代码重用的作用。应该这样做只是为了层次分明吧!!
重写是根据需求来的,也可以不重写啊谁说一定要重写了?我在IbaseDao定义了所有常用接口。。我继承之后接口就可以用。。一般是我的接口继承IBaseDao,我的类实现IbasezDao并继承IBaseDao的实现类。。这一点在继承泛型对象时特别方便方法调用。可以说我的dao的接口和实现类不需要写任何代码就可以使用父类接口的方法了。我知道不用一定要重写,但你肯定会重写父接口一个方法吧!那么这时候是不是违法了继承的原则性。继承就是为了不用再去重写父接口的东西,才起着意义。
为什么要重写父接口的方法,我继承之后什么都不用写,直接用。不知道你哪里不理解,给你看个栗子:public interface IBaseDao<T>
{
public T add(T t); public void update(T t); public void delete(int id); …… 等等省略
public interface YdAccountDao extends IBaseDao<YdAccount>{
//这里什么都不写.如果有需求可以继续写自己的业务方法
}
还是不理解这段代码有什么意义。接口就是功能定义的集合,可以用来定义规范。这段代码既没有增加新功能,也没有描述新规范,有什么存在的必要呢?
public T add(T t);
public void update(T t);
public void delete(int id);
这些不是功能吗?你还要什么功能?抱歉没表达清楚,我指的是YdAccountDao。
void id(); } interface User extends People{
void id();
void name();
}
你的例子是接口继承了接口,他并没有重用,只是说明人有一个id号,而用户是一个人,用户也有id号,并且用户要多一个用户名。
如果把你的例子里面的两个interface改为class的话,意思就可以这么写。
abstract class People{
int id(){
return 1;
} } class User extends People{
void name();
}
这个时候意思虽然没变,但是当你用User customer=new User();的时候,如果 int i=customer.id(); 就可以得到1,你没有在User类里面写过int id()方法,但是你还是得到id值,这不是一种重用吗?如果People类是别人写的,而User类是你写的,你不是很省力的得到了别人写的People的全部功能,而你只是写了User类,给它添加了一个返回名字的方法,这样你不用改变别人写的People类。
那么再回到刚才的Interfac继承的问题,为了要Interface继承呢,如果另外一个类里面有一个方法 int GetId(People p);而且它在很多地方地方都用到People这个接口,如果项目拿到你手里收,客户说User是一个带用户名的People类,那么你可以去改People接口,增加一个Name方法,但是这样做不太好,你可以继承People这个接口,写这个你给我看的User接口,然后去写一个具体的User类实现User接口,这样所有int GetId(People p)的地方都需要改动,因为以前写的类只到People只有一个id方法,但是其实你的People功能已经不止这么点了,但是你改了以后,以前的代码不用动,而只需要在新的代码里增加String getName(User user);这样的办法。
老外比较喜欢这么写,这样写看起来很啰嗦,开始写程序的时候不需要追求这些,但是这条路是必经的,早晚写着写着就追求这样的境界了,慢慢来。
继承IBaseDao接口的接口不是还要重写IBaseDao接口中的的抽象方法吗?对吧!继承后还要重写父接口的方法,岂不是起不到代码重用的作用。应该这样做只是为了层次分明吧!!
重写是根据需求来的,也可以不重写啊谁说一定要重写了?我在IbaseDao定义了所有常用接口。。我继承之后接口就可以用。。一般是我的接口继承IBaseDao,我的类实现IbasezDao并继承IBaseDao的实现类。。这一点在继承泛型对象时特别方便方法调用。可以说我的dao的接口和实现类不需要写任何代码就可以使用父类接口的方法了。我知道不用一定要重写,但你肯定会重写父接口一个方法吧!那么这时候是不是违法了继承的原则性。继承就是为了不用再去重写父接口的东西,才起着意义。
为什么要重写父接口的方法,我继承之后什么都不用写,直接用。不知道你哪里不理解,给你看个栗子:public interface IBaseDao<T>
{
public T add(T t); public void update(T t); public void delete(int id); …… 等等省略
public interface YdAccountDao extends IBaseDao<YdAccount>{
//这里什么都不写.如果有需求可以继续写自己的业务方法
}
还是不理解这段代码有什么意义。接口就是功能定义的集合,可以用来定义规范。这段代码既没有增加新功能,也没有描述新规范,有什么存在的必要呢?
public T add(T t);
public void update(T t);
public void delete(int id);
这些不是功能吗?你还要什么功能?抱歉没表达清楚,我指的是YdAccountDao。
我在YdAccountDao的实现类中就可以通过IBaseDao定义的方法对我的泛型类进行操作了,我在 IBaseDao的实现类中封装了一些常用操作的实现。