标签: abstract-methods

为什么你需要知道抽象类的方法是否是抽象的

我被问到一个问题.它是以下内容:

抽象类的API文档会告诉您方法是否是抽象的.什么时候以及为什么需要知道这一点?

任何帮助,将不胜感激.

java abstract-class abstract-methods

4
推荐指数
1
解决办法
186
查看次数

java.lang.AbstractMethodError:com.ibm.db2.jcc.t4.b.isValid(I)Z

晚上好,

我在EJB Timer项目上遇到问题,我不知道如何解决它.

我的项目中有一些方法,除了"CargaC"之外它们都运行良好当我调用它时我得到一个msg错误:

我的代码:

public void CargaC() {
        Connection db2 = null;
        DadosCDao dadosCDao = new DadosCDao();
        try{
            if(db2 == null || db2.isClosed()){
                if((db2==null)||(db2.isClosed())){
                    db2 = new Dao().conexaoDb23();
                    if(!db2.isValid(5)){
                        db2 = new Dao().conexaoDb2K();
                        if(!db2.isValid(5)){
                            db2 = new Dao().conexaoDb2R();
                        }
                    }
                }
                ArrayList<DadosC> lista = dadosCDao.cargaDadosDb2(db2);
                if(!lista.isEmpty()){
                    verificaDados(lista);
                }

            }
            db2.close();
        }catch(SQLException e){
            System.out.println("Projeto PrjX, classe CargaDadosC, método cargaC, erro: "+e.getMessage());
        }
    }
Run Code Online (Sandbox Code Playgroud)

错误消息:

12:10:18,147 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-5) JBAS010404: Deploying non-JDBC-compliant driver class org.postgresql.Driver (version 9.3)
12:10:18,168 …
Run Code Online (Sandbox Code Playgroud)

java jdbc abstract-methods

4
推荐指数
1
解决办法
8132
查看次数

抽象/虚拟成员提供通用和派生的组合功能 - C#

我以前做过这件事 - 只是记不住诀窍.

如果我有一个抽象类:

公共抽象类Post

还有一组派生类:

公共课照片:Post

我想强制派生类实现一个名为Validate()的方法,但同时在Post级别提供核心验证.

我可以创建一个方法:公共抽象void验证(),这将迫使派生类来实现的方法,但后来我如何执行(基地)验证?

最终的结果是我希望能够做到这一点:

public class BLL
{
   public void AddPost(Post post)
   {
       post.Validate(); // includes "Post" validation, any deriving validation.
       repository.Add(post);
   }
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

.net c# abstract-class virtual-functions abstract-methods

3
推荐指数
1
解决办法
180
查看次数

抽象类正在使用它自己的抽象方法?

我正在查看游戏中的一些代码,我遇到了一些我以前没见过的东西,我真的不知道最近发生了什么.

public abstract class Entity
{

    public Entity(World world)
    {
        // irrelevent code
        entityInit();
    }

    protected abstract void entityInit();
}
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?它呼吁时会发生什么entityInit()

java abstract-class abstract abstract-methods

3
推荐指数
1
解决办法
1556
查看次数

c#中的抽象方法

老实说,我不知道为什么这会让我失望.

 public abstract class BankAccount
    {
        private string accNo;
        private double balance;


        public abstract void MakeWithdrawal(string acc);
        public abstract void MakeDeposit(double dep);
Run Code Online (Sandbox Code Playgroud)

上面的代码抛出了这个错误:

BankAccount.MakeWithdrawal()'是抽象的,但它包含在非抽象类'Worksheet7.BankAccount'中

即使我将该类声明为抽象类.我在这里缺少什么东西,或者在视觉工作室中缺少一些我不知道的东西?

c# abstract-class abstract-methods

3
推荐指数
1
解决办法
2368
查看次数

摘要方法没有身体?

我是Java新手(现在读书4个月了).所以我的问题可能看起来太简单了.我的理解是,抽象方法没有正文,也无法提供实现

那么这是如何工作的呢?

public abstract void fillRect (int x, int y, with, height);
Run Code Online (Sandbox Code Playgroud)

我没有清楚地指出这个问题.我们有抽象的方法.如果我不提供正文,只是参数,为什么它会绘制一个矩形.

例如

public void paint (Graphics g) {

g.fillRect (5, 5, 30, 30);

}
Run Code Online (Sandbox Code Playgroud)

java abstract abstract-methods

3
推荐指数
2
解决办法
8009
查看次数

抽象方法的默认实现

我正在处理一个大型代码库,它在这些类上有很多类和很多抽象方法.我对以下情况下人们对我应该做些什么的看法很感兴趣.

如果我有一个带有抽象方法的Parent-A类.只有2个孩子.如果Child-B实现了AbstractMethodA但Child-B没有实现,因为它不适用.

我是不是该

  1. 从父级中删除abstract关键字并使用虚拟或动态?
  2. 提供方法的空实现.
  3. 提供一个在调用时引发错误的实现.
  4. 忽略警告.

编辑:谢谢你的所有答案.它证实了我的怀疑,这不应该发生.经过进一步调查后发现这些方法根本没有使用,所以我完全删除了它们.

delphi oop abstract-methods

2
推荐指数
1
解决办法
553
查看次数

类似于带有定义c#的抽象的东西

也许这首先是糟糕的设计,但我有一个抽象的基类,它有一个方法 validate

public abstract class abClass{
  string str1;
  string str2;

  public virtual bool validate(){...};
}
Run Code Online (Sandbox Code Playgroud)

我知道每一个派生类中都会有需要验证的属性,但我不希望有复制粘贴验证的str1str2每个抽象方法.

我想确保未来的开发人员(包括我自己)会记得包含并填写验证方法.从我所看到的,没有办法给出一个抽象方法定义,或强制虚拟方法被覆盖.

到目前为止,我所听到的就是"你应该让开发者选择他/她想做的事情." 这对我来说不够好,它反对制衡,以帮助你不犯错误.我不介意他们是否积极选择没有任何实现代码,但如果他们忘记了,那么稍后在未验证派生字段时会引起头疼.

对此问题的任何建议?

c# validation virtual-functions abstract-methods

2
推荐指数
2
解决办法
462
查看次数

重载抽象类中的抽象方法

我想要一个抽象的类,有一个抽象的方法,比方说abstract void compare().但它所采用的参数应根据不同子类中的不同实现而变化.我想知道这样做的正确方法是什么?

我不能通过在抽象类本身中编写它的不同签名来重载它,因为如果我这样做,它的任何子类都需要实现所有版本,这不是我想要的.谢谢.

java inheritance abstract-class overloading abstract-methods

2
推荐指数
1
解决办法
4620
查看次数

如果抽象方法具有抽象方法,则Java中的抽象方法实现是否需要引发someException声明?

在超类中,我有:

abstract someMethod() throws someException;
Run Code Online (Sandbox Code Playgroud)

在子类中,我有:

someMethod(){/*do something*/}
Run Code Online (Sandbox Code Playgroud)

无需throws someException声明就可以这样做吗?是不是该throws someException声明是有默认不明确增加了吗?

java exception abstract-methods

2
推荐指数
1
解决办法
105
查看次数