gpt4 book ai didi

c# - 调用子类方法时强制调用父类方法 - C#.NE

转载 作者:太空狗 更新时间:2023-10-29 21:11:25 27 4
gpt4 key购买 nike

我们有两个类,分别是“Parent”和“child”,如下所示:

class Parent
{
parent_AddUser()
{
// add user code for parent
}

abstract child_AddUser();
}

// child class
class Child : Parent
{
child_AddUser() // implementing the abstract method
{
// child addUser code
}
}

我们想知道是否可以在调用 child_addUser() 时强制调用 parent_AddUser() 方法而不进行显式调用。

最佳答案

执行此操作的方法是使用 template method pattern相反:

public abstract class Parent
{
public void AddUser()
{
// Preparation goes here
AddUserImpl();
// Clean-up goes here
}

protected abstract void AddUserImpl();
}

public class Child
{
protected override void AddUserImpl()
{
// Do stuff here
}
}

那样的话,除了 Parent 之外,没有人会调用 AddUserImpl - 调用者只需使用 AddUser 即可,它会将正确的位委托(delegate)给具体的子类.

关于c# - 调用子类方法时强制调用父类方法 - C#.NE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1238582/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com