sách gpt4 ai đã đi

Thực hành c# hướng đối tượng đúng

In lại 作者:行者123 更新时间:2023-11-30 15:38:58 27 4
mua khóa gpt4 Nike

我有一些 c# 代码已经运行了一段时间了..我不得不说,虽然我了解 OO 原则的基础知识,但显然有不止一种方法可以给猫剥皮(尽管我讨厌那个短语!)。

因此,我有一个基本抽象类作为基本数据服务类,如下所示(为便于阅读而进行了简化):

public abstract class dataservice
{
public enum OutputType : int { XmlTOJson = 0, Xml = 1, Json=2 }

protected object SomeDBcall(string StoredProcedure)
{
// Just assume we are using SQLclient/DB access..
object SomeReturnObjValue = db.ExecuteScalar(cmd);
return SomeReturnObjValue;
{
}

.. 所以基本上我可能在抽象类中有一些基本的数据库检索/更新/删除调用.. 主要是因为我的应用程序中有任何数据库操作的基础。

所以现在我们有一个实现基类的类,在我的例子中是一个客户类:

public class Customer : dataservice
{
Public String CustomerDoSomething(string SomeDataEtc)
{
// Ok, so again for simplicity sake, we are going to use the base class to
// call a DB retrieve
object ReturningObj = SomeDBcall("my stored procedure");
return ReturningObj.ToString();
}
}

所以我想我的问题是:上述方法“可以”使用吗?考虑到如果需要可以覆盖虚拟方法,但是在这种情况下,我只希望基类使用那些 protected 方法作为调用数据库操作的方法。

非常感谢任何清晰度/指导!

1 Câu trả lời

当然,它是“好的”,尽管我认为没有理由让基类成为tóm tắt. tóm tắt 类非常适合实现一些通用逻辑,而将其余逻辑留给派生类来实现。但是,您没有抽象/虚拟方法,所以我不明白这里的意义。

关于正确的面向对象技术的 c# 实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10934419/

27 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com