有一个类比如计算器它可以添加一些值
public class Calculator
{
public int Addition(int a, int b)
{....}
public int Addition2(int a, int b, int c)
{....}
public int Addition3(int a, int b,int c, int d)
{....}
}
在主要:
Calculator calc= new Calculator();
// create object
如何创建一个或多个对象,以便我可以将对象访问限制为仅对特定函数。
Ex: obj1只能访问加法,obj2可以访问加法&Addition2等等。意味着定义对类函数的特定对象访问。
可以public interface ICalculator
{
int Addition(int a, int b);
}
public interface ICalculator1 : ICalculator
{
int Addition2(int a, int b, int c);
}
public interface ICalculator2 : ICalculator1
{
int Addition3(int a, int b, int c, int d);
}
public class Calculator : ICalculator2
{
public int Addition(int a, int b)
{ return 1; }
public int Addition2(int a, int b, int c)
{ return 1; }
public int Addition3(int a, int b, int c, int d)
{ return 1; }
}
然后在主函数中:
static void Main(string[] args)
{
//Access to first func
ICalculator calculator = new Calculator();
calculator.Addition(1, 1);
//Access to first & second func
ICalculator1 calculator1 = new Calculator();
calculator1.Addition(1, 1);
calculator1.Addition2(1, 1, 1);
//Access to first & second & third func
ICalculator2 calculator2 = new Calculator();
calculator2.Addition(1, 1);
calculator2.Addition2(1, 1, 1);
calculator2.Addition3(1, 1, 1, 1);
}
Interface是一个强大的工具,可以发布某些成员,而其他成员可以保持隐藏。
public interface IAddition
{
public int Addition(int a, int b)
}
public interface IAddition2
{
public int Addition2(int a, int b, int c)
}
public interface IAddition3
{
public int Addition3(int a, int b,int c, int d)
}
public class Calculator : IAddition, IAddition2, IAddition3
{
public int Addition(int a, int b)
public int Addition2(int a, int b, int c)
public int Addition3(int a, int b, int c, int d)
}
IAddition addition = new Calculator();
IAddition2 addition2 = new Calculator();
IAddition3 addition3 = new Calculator();
可以让Calculator
实现多个接口
public class Calculator : IAddition1, IAddition2, IAddition3
{
public int Addition(int a, int b)
{....}
public int Addition2(int a, int b, int c)
{....}
public int Addition3(int a, int b, int c, int d)
{....}
}
interface IAddition1 {
int Addition(int a, int b)
}
interface IAddition2 {
int Addition(int a, int b, int c)
}
interface IAddition3 {
int Addition(int a, int b, int c, int d)
}
可以创建为
IAddition2 calc = new Calculator();
只有整型Addition2(int a, int b, int c)