首页 后端开发 C#.Net教程 C#基础知识整理:基础知识(9) 接口的应用

C#基础知识整理:基础知识(9) 接口的应用

Feb 11, 2017 pm 01:19 PM

    前面接触过接口的概念,其实接口就是一组方法、属性,然后谁继承了它,谁就要实现这组方法和属性。也就是说这个类具备了这个接口定义的一些能力。
    接口的这种特性在平常的程序编写中是有很大作用的,往往完成一个大项目需要很多人同时完成,这样难免会有一些类都需要某些方法,而且执行流程都差不多。这是在项目设计阶段就有必要把这种方法抽象出一个接口,然后在项目中,大家只需实现这个接口,从而防止大家由于各自定义各自的,导致了相同的操作比较混乱。
    比如,在做桌面应用程序时,会用到很多窗口,窗口里会注册事件(这一般用于不同控件间事件传递),还会贴皮肤(即取图片作为窗体和窗体上的控件的背景图片)等等,这是每个窗口都需要用的方法。像这样就可以抽象出一个接口,命个名:
IWindowAdditionalAble。
比如在写UseForm窗口时实现该接口:

接口:

    interface IWindowAdditionalAble
    {
        void PasteSkin();//给窗体中的控件贴皮肤

        void RegisterEvent();//注册要用到的事件
    }
登录后复制

实现接口代码:

 public partial class UseForm : Form, IWindowAdditionalAble//每写一个窗体类都实现该接口
    {
        public UseForm()
        {
            InitializeComponent();

            PasteSkin();

            RegisterEvent();
        }

        #region IWindowAdditionalAble 成员

        /// <summary>
        /// 贴皮肤的方法
        /// </summary>
        public void PasteSkin()
        {
            this.btnTest.BackColor = Color.Gray;
        }
        /// <summary>
        /// 注册事件的方法
        /// </summary>
        public void RegisterEvent()
        {
            this.btnTest.Click += new EventHandler(btnTest_Click);
        }

        void btnTest_Click(object sender, EventArgs e)
        {
            throw new NotImplementedException();
        }

        #endregion
    }
登录后复制

 在其他窗口A、B...时都实现这个接口,这样比较统一,也不会落下某一个方法。当然也可以根据项目的需求不同写一些其他满足某些需求的接口来使用。

以上就是C#基础知识整理:基础知识(9) 接口的应用 的内容,更多相关内容请关注PHP中文网(www.php.cn)!


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1658
14
CakePHP 教程
1415
52
Laravel 教程
1309
25
PHP教程
1257
29
C# 教程
1231
24
C# 序列化 C# 序列化 Sep 03, 2024 pm 03:30 PM

C# 序列化指南。这里我们分别讨论C#序列化对象的介绍、步骤、工作原理和示例。

使用 C# 的活动目录 使用 C# 的活动目录 Sep 03, 2024 pm 03:33 PM

使用 C# 的 Active Directory 指南。在这里,我们讨论 Active Directory 在 C# 中的介绍和工作原理以及语法和示例。

C# 中的随机数生成器 C# 中的随机数生成器 Sep 03, 2024 pm 03:34 PM

C# 随机数生成器指南。在这里,我们讨论随机数生成器的工作原理、伪随机数和安全数的概念。

C# 数据网格视图 C# 数据网格视图 Sep 03, 2024 pm 03:32 PM

C# 数据网格视图指南。在这里,我们讨论如何从 SQL 数据库或 Excel 文件加载和导出数据网格视图的示例。

c#多线程和异步的区别 c#多线程和异步的区别 Apr 03, 2025 pm 02:57 PM

多线程和异步的区别在于,多线程同时执行多个线程,而异步在不阻塞当前线程的情况下执行操作。多线程用于计算密集型任务,而异步用于用户交互操作。多线程的优势是提高计算性能,异步的优势是不阻塞 UI 线程。选择多线程还是异步取决于任务性质:计算密集型任务使用多线程,与外部资源交互且需要保持 UI 响应的任务使用异步。

C# 中的阶乘 C# 中的阶乘 Sep 03, 2024 pm 03:34 PM

C# 阶乘指南。这里我们讨论 C# 中阶乘的介绍以及不同的示例和代码实现。

C# 中的模式 C# 中的模式 Sep 03, 2024 pm 03:33 PM

C# 模式指南。在这里,我们讨论 C# 中模式的介绍和前 3 种类型,以及其示例和代码实现。

C# 中的质数 C# 中的质数 Sep 03, 2024 pm 03:35 PM

C# 素数指南。这里我们讨论c#中素数的介绍和示例以及代码实现。

See all articles