日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C#面向對象設計原則之接口隔離原則_C#教程

作者:.NET開發菜鳥 ? 更新時間: 2022-05-03 編程語言

接口隔離原則(ISP)

定義:使用多個專門的接口比使用單一的總接口要好。即不要把雞蛋都放到一個籃子里。
好處:比較靈活、方便,不想實現的或不用實現的可以不實現。
解釋說明:
大部分人都喜歡用一個接口把需要用到的方法全部聲明出來,但是ISP建議我們使用多個專門的接口比使用單一的總接口要好,也就是一個接口里的方法多的話,實現起來不是很方便。

示例1:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 接口隔離原則
{
    /// 
    /// 定義一個學習電腦的接口
    /// 
    public interface ILearnComputer
    {
    }

    /// 
    /// 定義一個上網電腦的接口
    /// 
    public interface INetComputer
    { }

    /// 
    /// 定義一個學生電腦類,實現學習電腦的接口和上網電腦的接口
    /// 
    public class StudentComputer : ILearnComputer, INetComputer
    {
        public void Learn()
        {
            Console.WriteLine("學習");
        }

        public void NetPlay()
        {
            Console.WriteLine("上網");
        }
    }
}

在上面的示例代碼中,定義了兩個接口,一個具體的電腦類實現了兩個接口。如果只想上網,只實現上網的接口就可以;如果只想學習,則只實現學習的接口就可以。

示例2:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 接口隔離原則
{
    /// 
    /// 定義一個學習電腦的接口
    /// 
    public interface ILearnComputer
    {
    }

    /// 
    /// 定義一個上網電腦的接口
    /// 
    public interface INetComputer
    { }

    /// 
    /// 定義一個學生電腦的抽象類,實現學習電腦的接口和上網電腦的接口
    /// 
    public abstract class StudentComputer : ILearnComputer, INetComputer
    {
        public abstract void Learn();

        public abstract void NetPlay();
    }
}

具體操作時,抽象類和接口搭配進行使用。使用抽象類實現接口,在調用的時候使用抽象類進行變量的聲明。

代碼下載鏈接:點此下載

原文鏈接:https://www.cnblogs.com/dotnet261010/p/7351538.html

欄目分類
最近更新