接口 | 完整说明(定义、用法、结构和 C# 示例)
# 介绍
您好,我的名字是 Daniela Barazarte,欢迎您阅读该界面的完整说明。 这个解释以及#DetectaLaLogica 中的所有解释一样直观且简单。
如果您喜欢视频,这里是我在 YouTube 上制作的完整教程,它是西班牙语,但也有字幕:https://www.youtube.com/watch?v=UbZORJzMQec
理论
每个单词的定义
“设计模式”
- 模式:是一种重复事件或对象
- 设计:创意活动,其目的是设计有用且美观的物体
“界面”
- 接口:一个系统对另一个系统的通信或操作区域
完整定义
接口设计模式是类必须提供的方法和属性的规范,任何实现该接口的类都致力于提供这些方法和属性。
#检测逻辑
“接口”一词被定义为“一个系统对另一个系统的通信或操作区域”。 接口设计模式之所以如此命名,是因为接口正在与类通信,告诉它该类应该具有哪些参数。 它就像一个契约,其中接口声明它具有哪些组件,并且类也必须具有这些组件。
使用
## 以便
接口用于定义可以由多个不同类实现的公共接口。 这种模式允许这些类在遵守相同接口的同时具有不同的行为,从而为应用程序提供灵活性和模块化。
何时以及如何
- 通过拥有多个必须遵守一组特定行为的类
- 通过具有必须符合一组特定行为的插件或外部模块的通用结构
- 创建必须兼容分布式系统不同架构的应用程序时
- 创建应易于扩展和模块化的应用程序时
练习
## 锻炼
您必须创建一个控制台项目,其中有几种动物,并且可以在控制台中编写每只动物发出的声音
方法:接口
橙色部分(上图):是Animal接口
蓝色部分(底部):是该接口的实现,在本例中是 3 种动物(猫、狗、鸟)
public interface Animal
{
void MakeSound();
void CallFriend();
}
public class Dog : IAnimal
{
public void MakeSound()
{
Console.WriteLine("Wow! Woof!");
}
public void CallFriend()
{
Console.WriteLine("Come on friend dog!");
}
}
public class Cat : IAnimal
{
public void MakeSound()
{
Console.WriteLine("Meow! Meow!");
}
public void CallFriend()
{
Console.WriteLine("Come on friend cat!");
}
}
public class Bird : IAnimal
{
public void MakeSound()
{
Console.WriteLine("Tweet Tweet! Wow!");
}
public void CallFriend()
{
Console.WriteLine("Come on friend bird!");
}
}
public class program
{
public static void Main()
{
IAnimal myCat = new Cat();
IAnimal myDog = new Dog();
IAnimal myBird = new Bird();
myCat.MakeSound();
myCat.CallFriend();
myDog.MakeSound();
myDog.CallFriend();
myBird.MakeSound();
myBird.CallFriend();
}
}
拥有实现“鸟”、“狗”和“猫”的“动物”接口是有益的,因为它提供了有用的抽象,允许软件设计中的高度灵活性和可扩展性。 通过定义“动物”界面,您可以建立所有动物都必须具备的某些行为和特征,例如移动和呼吸的能力。
在“Bird”、“Dog”和“Cat”上实现此接口可确保它们都具有这些共同特征,并且可以在需要“Animal”对象的代码中互换使用。 这使得代码更加模块化和可扩展,因为可以轻松添加符合“动物”接口的新动物类型,而无需更改现有代码。
重要性
界面设计模式有几个好处:
- 抽象:接口允许定义一组方法和属性,这些方法和属性必须由实现它们的类来实现。 这允许您抽象接口后面的类的实现,使您的代码更易于理解和维护。
- 关注点分离:通过定义接口,您可以清楚地将用户界面与业务逻辑分开。 这允许应用程序的不同部分通过明确定义的接口相互通信。
- 多态性:接口允许多态性,这意味着实现接口的类可以被视为属于该类型的接口。 这使得实现相同接口的类可以在代码的不同部分中互换使用,从而更容易重用和维护代码。
# 告别
(记住)#DetectaLaLógica:“接口”一词被定义为“一个系统对另一个系统的通信或操作区域”。 接口设计模式之所以如此命名,是因为接口正在与类通信,告诉它该类应该具有哪些参数。 它就像一个契约,其中接口声明它具有哪些组件,并且类也必须具有这些组件。
您可以在我的 GitHub 存储库(C# 语言代码)中练习此主题:https://github.com/danielabarazarte/DetectaLaLogica
非常感谢您的阅读,如果有什么问题可以评论,也可以关注我看更多这种风格的帖子,谢谢<3.
Top comments (0)