学学习网 手机版

学学习网

学习路径: 学习首页 > 应用开发 > C# >

第十一章 C#接口 接口继承

设置字体:
----------------------------------
接口我们在前面也已经有所提及。接口的命名传统上都以大写I 开头。
我们假设这样一种情况,一个系统有很多用户,我们可以查询某个用户是否存在,并且可以修改用户 的密码。但有可能某天我们的数据库从mysql 升级成为 sqlserver 。在这种情况下,我们看下面一个例 子。
using System;namespace xuexuexi.com
{
public interface IUserOperation
{
bool userExites(string username);
bool updateUserPwd(string newPwd,string oldPwd);
}
public class SqlUserOperation: IUserOperation
{
//这里我们假使 uname oldPwd 是通过sql 在数据库中查到的。具体查询,这里就不说了。
string uname="pan";
public string oldPwd="xuexuexi.com";
public bool userExites(string username)
{
if(username==uname)
{
return true;
}
Else
{
return false;
}
}
public bool updateUserPwd(string newPwd,string oldPwd)
{
if(newPwd==oldPwd)
{
return true;
}
Else
{
return false;
}
}
}
public class MainClass
{
static void Main(string [] args)
{
string newPwd =Console.ReadLine();
string username =Console.ReadLine();
SqlUserOperation one=new SqlUserOperation();
IUserOperation tow=new SqlUserOperation();
if(tow.userExites(username))
{
Console.WriteLine("用户存在");
}else
{
Console.WriteLine("用户不存在");
}
if(tow.updateUserPwd(newPwd,one.oldPwd))
{
Console.WriteLine("密码修改成功");
}
else
{
Console.WriteLine("密码修改失败");
}
}
}
/* //我们可能某天需要用mysql 数据库了。这时候的具体实现又有所不同了。
public class MysqlUserOperation: IUserOperation { }
*/}注意,实现接口的类,必须实现类的全部成员。否则会报错喔。我们来看这一句IUserOperation tow=new SqlUserOperation(); 该句把引用变量声明为IUserOperation 的引用方式,这表示,他们可以指向实现这个接口的任何类的实例。同时,接口也可以彼此继承,但要注意,实现接口的类必须实现接口以及接口的父接口的所有方法。
----------------------------------
课程列表
重点难点
赞助链接