gpt4 book ai didi

c# - 了解面向对象编程

转载 作者:可可西里 更新时间:2023-11-01 08:47:00 26 4
gpt4 key购买 nike

我是入门级 .Net 开发人员,使用它来开发网站。我从经典的 asp 开始,去年带着一本简短的 C# 书跳上了船。随着我的发展,我学到了更多,并开始看到来自经典的 asp 我总是使用 C# 之类的脚本语言。例如,在我上一个项目中,我需要在网络服务器上对视频进行编码,并编写了如下代码

public class Encoder
{
Public static bool Encode(string videopath) {

...snip...

return true;
}
}

在搜索与我的项目相关的示例时,我看到有人这样做

public class Encoder
{
Public static Encode(string videopath) {
EncodedVideo encoded = new EncodedVideo();

...snip...

encoded.EncodedVideoPath = outputFile;
encoded.Success = true;

...snip...
}
}

public class EncodedVideo
{
public string EncodedVideoPath { get; set; }
public bool Success { get; set; }
}

据我所知,第二个示例更面向对象,但我不明白使用 EncodedVideo 对象的意义。

我做错了什么吗?真的有必要在 Web 应用程序中使用这种代码吗?

最佳答案

有人曾经把 OO 解释为汽水 jar 。

汽水 jar 是一个对象,一个对象有很多属性。而且方法很多。例如..

SodaCan.Drink();

SodaCan.Crush();

SocaCan.PourSomeForMyHomies();

等...

OO设计的目的,理论上是一行代码写一次,对象之间有抽象。

这意味着 Coder.Consume(SodaCan.contents);与您的问题有关。

编码视频与编码器不同。编码器返回编码视频。和编码视频可能使用编码器,但它们是两个独立的对象。因为它们是两个不同的实体,服务于不同的功能,所以它们只是一起工作。

就像我喝汽水 jar 并不意味着我是汽水 jar 。

关于c# - 了解面向对象编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2852395/

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