接口作为参数和返回值的意义

本文探讨了接口在编程中的重要性,特别是在对象协作中。通过实例展示了如何使用接口进行自定义排序,如通过实现`IComparable`和`IComparer<T>`接口来对列表进行按姓名、年龄等属性的排序。此外,还解释了接口作为参数和返回值的意义,强调了接口作为参数传递实现了该接口的对象,以及接口作为返回值返回实现了接口的对象的灵活性。
摘要由CSDN通过智能技术生成

--------------------------------------传说中接口--------------------------------------
系统的各种功能都是由许许多多的对象协助完成的。这个各个对象之间的协作关系则成为了系统的关键.
现在非常流行的面向接口编程实现的就是这种思想。本章将学习面向对象的接口技术.以及接口作为返回值
作为参数时的意义。


自定义对象的排列 实例1 看看SORT() 方法的默认排序

    public partial class Form1 : Form
    {
        List<String> list = new List<string>();
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string wang = "wang";
            string li = "li";
            string zhang = "zhang";
            //添加到集合
            list.Add(wang);
            list.Add(li);
            list.Add(zhang);
            Console.WriteLine("排序前");
            foreach (string one in list)
            {
                Console.WriteLine(one);
            }
            Console.WriteLine("------");
        }

        private void button2_Click(object sender, EventArgs e)
        {
            list.Sort();
            Console.WriteLine("排序后");
            foreach (string one in list)
            {
                Console.WriteLine(one);
            }
            Console.WriteLine("------");
        }
    }

 


--------------------------------------ICOMPARABLE接口--------------------------------------
Icomparable 是一个接口,在这个接口中有一个没有实现的方法Comparato(object obj)

语法:
public interface IComparable
{
int Compareto(Object obj);
}
实现了这个 ComparaTO方法 就以为这个类是可比较的,它返回一个整型的一个返回值,返回值含义如下

1>如果返回值小于0,则当前示例小于obj
2>如果返回值大于0,则当前示例大于obj
3>如果返回值等于0,则当前示例等于obj

 


------------------------------------CompareTo()接口与泛型接口ICompareble<T>的使用--------------------
    class Student : Xinxi, IComparable<Student>
    {
        public Student() { }
        public Student(string name, int age, string xb, string aihao)
            : base(name, age, xb)
        {
            this.Aihao = aihao;
        }
        private string aihao;
        public string Aihao
        {
            get
            {
                return aihao;
            }
            set
            {
                aihao = value;
            }
        }
        //public int CompareTo(object obj)//不是泛型需要类型转换object obj as student
        //{

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值