接口Interface
简述:接口定义了所有类继承接口时因遵循的语法合同,所以实现接口的类或结构必须实现接口定义中指定的接口成员。
声明接口
interface 接口名称 { 接口成员; }
1、单继承接口
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication1 { public interface I接口 {//获取面积decimal GetArea();//获取周长decimal GetPerimeter(decimal X, decimal Y); } public class 学生A : I接口 { public decimal longs; public decimal Longs { get { return longs; } set { longs = value; } } public decimal high; public decimal High { get { return high; } set { high = value; } } public 学生A(decimal longs, decimal high) { Longs = longs; High = high; } public decimal GetArea() { return Convert.ToDecimal(longs * high); } public decimal GetPerimeter(decimal his,decimal lgs) { return Convert.ToDecimal((his + lgs)*2); } } public class 程序入口 { public static void Main(string[] obj) { 学生A A = new 学生A(5,6); Console.WriteLine("学生A计算面积:{0}", A.GetArea()); Console.WriteLine("学生A计算周长:{0}", A.GetPerimeter(2, 3)); Console.ReadLine(); } } }
View Code
错误一、结构方法体加访问修饰符执行错误
2、多继承(接口之间的继承关系)
C继承B接口,B接口继承A接口,B和A互为继承关系。通过派生类实现接口中所有接口方法。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication1 8 { 9 public interface I接口10 {11 //获取面积12 decimal GetArea();13 //获取周长14 decimal GetPerimeter(decimal X, decimal Y);15 }16 17 public interface I接口2 : I接口18 {19 decimal Getvolume(decimal X, decimal Y, decimal Z);20 }21 22 public class 学生A : I接口223 { 24 public decimal longs;25 public decimal Longs { get { return longs; } set { longs = value; } }26 public decimal high;27 public decimal High { get { return high; } set { high = value; } }28 29 public 学生A(decimal longs, decimal high)30 {31 Longs = longs;32 High = high;33 }34 public decimal GetArea()35 {36 return Convert.ToDecimal(longs * high);37 }38 public decimal GetPerimeter(decimal his,decimal lgs)39 {40 return Convert.ToDecimal((his + lgs)*2);41 }42 43 public decimal Getvolume(decimal his, decimal lgs, decimal z)44 {45 return Convert.ToDecimal(his * lgs * z);46 }47 48 }49 50 public class 程序入口51 {52 public static void Main(string[] obj)53 {54 学生A A = new 学生A(5,6);55 Console.WriteLine("学生A计算面积:{0}", A.GetArea());56 Console.WriteLine("学生A计算周长:{0}", A.GetPerimeter(2, 3));57 Console.WriteLine("学生A计算体积:{0}", A.Getvolume(2, 3, 4));58 Console.ReadLine();59 }60 }61 }
View Code
错误二、未完成实现接口所有方法