C#高级(六)接口,接口继承

接口我们在前面也已经有所提及。接口的命名传统上都以大写I 开头。

我们假设这样一种情况,一个系统有很多用户,我们可以查询某个用户是否存在,并且可以修改用户 的密码。但有可能某天我们的数据库从mysql 升级成为 sqlserver 。在这种情况下,我们看下面一个例 子。

using System;namespace gosoa.com.cn{    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="gosoa.com.cn";        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的引用方式,这表示,他们可以指向实现这个接口的任何类的实例。

同时,接口也可以彼此继承,但要注意,实现接口的类必须实现接口以及接口的父接口的所有方法。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索string
, 接口
, 用户
, public
, 高级接口
, console
username
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

时间: 2024-08-10 09:03:43

C#高级(六)接口,接口继承的相关文章

JavaSE学习总结(六)——接口与抽象类

一.不需要实例化的原因 看一个示例: package com.zhangguo.chapter5.s1; /**动物园*/ public class Zoo { public static void main(String[] args) { Animal animal=new Animal(); animal.eat(); /**new谁调谁*/ /**LSP*/ Animal dog=new Dog(); dog.eat(); } } /**动物*/ class Animal { /**吃*

澄清Java语言接口与继承的本质

继承 计算机学院研二的兄弟与我讨论Java,一见面,几个问题全是关于接口,接口有什么用?为什么要用接口?什么时候该使用接口?很庆幸他们不是问我Java如何连接SQL Server,或者是如何开发J2EE应用,这类问题有杀伤力,避之则吉.今年计算机学院本科有个毕业设计课题是做J2ME,选这个题目的学生在5月末都还在苦着脸研究java.util.*这个包,这个这个--唉. 大多数人认为,接口的意义在于顶替多重继承.众所周知Java没有c++那样多重继承的机制,但是却能够实作多个接口.其实这样做是很牵

Java的接口和继承

1.JAVA里没有多继承,一个类只能有一个父类.而继承的表现就是多态.一个父类可以有多个子类,而在 子类里可以重写父类的方法(例如方法print()),这样每个子类里重写的代码不一样,自然表现形式就不一 样.这样用父类的变量去引用不同的子类,在调用这个相同的方法print()的时候得到的结果和表现形式就不 一样了,这就是多态,相同的消息(也就是调用相同的方法)会有不同的结果.举例说明: //父类 public class Father { //父类有一个打孩子方法 public void hit

为MapReduce框架使用SQL类语言:使用高级声明式接口让Hadoop易于使用

简介 在过去二十年中,计算能力的稳步增强催生了铺天盖地的数据量,这反过来引起计算架构和大型数据处理机 制的范式转换.例如,天文学中的强大望远镜.物理学中的粒子加速器.生物学中的基因组测序系统都将海量数据交到了科 学家手中.Facebook 每天会收集 15TB 的数据到 PB 级的数据仓库中.在业界(例如,Web 数据分析.点击流分析和网络 监控日志分析)和科学界(例如,大规模模拟产生的数据的分析.传感器部署以及高吞吐量实验室设备),对大型数据挖掘 和数据分析应用的需求都在增加.尽管并行数据库系

接口的继承

接口具有不变性,但这并不意味着接口不再发展.类似于类的继承性,接口也可以继承和发展. 注意:接口继承和类继承不同.首先,类继承不仅是说明继承,而且也是实现继承:而接口继承只是说明继承.也就是说,派生类可以继承基类的方法实现,而派生的接口只继承了父接口的成员方法说明,而没有继承父接口的实现.其次,C#中类继承只允许单继承,但是接口继承允许多继承,一个子接口可以有多个父接口. 接口可以从零或多个接口中继承.从多个接口中继承时,用":"后跟被继承的接口名字,多个接口名之间用",&q

C#中的接口和继承多态

上一节中我们学习到了构造函数,用来初始化一个对象的实例.同时在.NET Framework中,提供了析构函数用于清理对象.一般情况下不需要特别析构函数,系统会自动提供默认的析构函数来执行操作,清理不再需要的对象. 一. 静态和实例类成员 属性,方法和字段等成员是对象实例所特有的,此外还有静态成员.例如静态方法,属性和字段.这些静态的成员可以在类的不同实例之间共享.所以将他们可以看成是类的全局对象.静态属性和字段可以访问独立于任何对象实例的数据.在使用静态成员时候,不需要实例化对象. 前面在应用控

Java接口与继承的本质

计算机学院研二的兄弟与我讨论Java,一见面,几个问题全是关于接口,接口有什么用?为什么要用接口?什么时候该使用接口?很庆幸他们不是问我Java如何连接SQL Server,或者是如何开发J2EE应用,这类问题有杀伤力,避之则吉.今年计算机学院本科有个毕业设计课题是做J2ME,选这个题目的学生在5月末都还在苦着脸研究java.util.*这个包,这个这个--唉. 大多数人认为,接口的意义在于顶替多重继承.众所周知Java没有c++那样多重继承的机制,但是却能够实作多个接口.其实这样做是很牵强的,

Java语言接口与继承的本质

  计算机学院研二的兄弟与我讨论Java,一见面,几个问题全是关于接口,接口有什么用?为什么要用接口?什么时候该使用接口?很庆幸他们不是问我Java如何连接SQL Server,或者是如何开发J2EE应用,这类问题有杀伤力,避之则吉.今年计算机学院本科有个毕业设计课题是做J2ME,选这个题目的学生在5月末都还在苦着脸研究java.util.*这个包,这个这个--唉. 大多数人认为,接口的意义在于顶替多重继承.众所周知Java没有c++那样多重继承的机制,但是却能够实作多个接口.其实这样做是很牵强

eclipse 为何没有自动提示对象(实现接口同时继承抽象类)的所有方法?

问题描述 eclipse 为何没有自动提示对象(实现接口同时继承抽象类)的所有方法? PS: 其他普通对象(例如 String 对象)有提示对象的所有方法. public interface BaseDao { ... } public abstract class BaseDaoImpl implements BaseDao {... } public interface BookDao extends BaseDao {... } public class BookDaoImpl exten

java-Java中接口多继承的意义

问题描述 Java中接口多继承的意义 初学Java,很多人都说Java中没有多继承,但是有多实现,我也明白其中的意思, 但是学习过程中发现Java中其实存在多继承的,它存在于接口与接口之间,不知道这种多继承的存在意义是什么? import static java.lang.System.*; public class ExtendsTest implements A { public static void main(String[] args) { ExtendsTest et = new E