1.类的定义

C#使用类关键字class定义类,如:

public  class MyClass

{

  

}

2.类的继承

类继承使用:

public class BaseClass

{

}

public class MyClass:BaseClass

{

}

3.子类的可访问不能大于父类的可访问性,如下是错误的

internal class BaseClass

{

}

public class MyClass:BaseClass

{

}

4.接口的定义使用 interface 关键字,一般以I开头

interface IMyInterface

{

   void xyz();

}

5.抽象类,抽象类以abstract关键字定义

abstract class MyClass

{

  int age=0;

  abstract void xyz();

}

6.抽象类和接口的相似处和区别

相似处:接口和类都包含子类可以继承的成员,都不能实例化对象,单都可以声明对象

区别:(1)抽象类可以包含抽象成员和非抽象成员(即有方法体的成员),接口只能包含抽象成员,接口成员默认是抽象的,但不使用abstract修饰

(2)抽象类可以包含公共的,受保护的,受保护的内部成员,而接口成员一是公共的,但是不使用访问控制修饰符

(3)接口不能包含字段(可以包含属性),构造函数,析构函数,静态成员和常量。

7.接口的实现

接口可以包含属性和方法,当实现一个接口时必须实现相应的方法,且书写属性的get和set块,实现的方法和属性必须是公共的;

可以使用abstract或virtual实现接口成员,但不能用static或const。

interface Iterface1
{
void Dosomething();
}

interface Iterface2 : Iterface1
{
new void Dosomething();

string Name { get; set; }
}

class TestInterface:Iterface2
{
public void Dosomething()
{

}

private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
}

7.参考资料

http://blog.sina.com.cn/s/blog_574c993d0100d59n.html

C#类和接口的更多相关文章

  1. 为什么类和接口不能使用private和protected?接口的方法不能使用private、protected、default

    对于java程序员来说,java的访问权限修饰词public.protected.default.private的区别和使用肯定都不是问题,这里也不再啰嗦了,反正度娘一搜就一大把.最近在整理java ...

  2. C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义

    类型判断符号: C#:object a;  if(a is int) { }  用 is 符号判断 Java:object a; if(a instanceof Integer) { } 用 inst ...

  3. Effective java笔记(三),类与接口

    类与接口是Java语言的核心,设计出更加有用.健壮和灵活的类与接口很重要. 13.使类和成员的可访问性最小化 设计良好的模块会隐藏起所有的实现细节,仅使用API与其他模块进行通信.这个概念称为信息隐藏 ...

  4. java类,接口浅谈

    一般类,抽象类,接口的使用场景: 类;共同的特征和行为的抽取和封装 接口:标准,规范(功能的扩展)         需要对某个类进行功能的扩展,就让某个类实现这个接口,抽取出来称为接口   内部类: ...

  5. C#类和接口、虚方法和抽象方法及值类型和引用类型的区别

    1.C#类和接口的区别接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念!而类是负责功能的具体实现!在类中也有抽象类的定义,抽象类与接口的区别在于:抽象类是一个不完全的类,类里面有抽 ...

  6. PHP面向对象学习五 类中接口的应用

    类中接口的应用 接口:一种成员属性全部为抽象的特殊抽象类,在程序中同为规范的作用   抽象类:1.类中至少有一个抽象方法.2.方法前需要加abstract 接口: 1.类中全部为抽象方法,抽象方法前不 ...

  7. C#类、接口、虚方法和抽象方法0322

    虚拟方法和抽象方法有什么区别与联系: 1.抽象方法只有声明没有实现代码,需要在子类中实现:虚拟方法有声明和实现代码,并且可以在子类中重写,也可以不重写使用父类的默认实现. 2.抽象类不能被实例化(不可 ...

  8. Java知多少(107)几个重要的java数据库访问类和接口

    编写访问数据库的Java程序还需要几个重要的类和接口. DriverManager类 DriverManager类处理驱动程序的加载和建立新数据库连接.DriverManager是java.sql包中 ...

  9. Java高效编程之三【类和接口】

    本部分包含的一些指导原则,可以帮助哦我们更好滴利用这些语言元素,以便让设计出来的类更加有用.健壮和灵活. 十二.使类和成员的访问能力最小化 三个关键词访问修饰符:private(私有的=类级别的).未 ...

  10. Android开发中,那些让您觉得相见恨晚的方法、类或接口

    Android开发中,那些让你觉得相见恨晚的方法.类或接口本篇文章内容提取自知乎Android开发中,有哪些让你觉得相见恨晚的方法.类或接口?,其实有一部是JAVA的,但是在android开发中也算常 ...

随机推荐

  1. [PHP]基本排序(冒泡排序、快速排序、选择排序、插入排序、二分法排序)

    冒泡排序: function bubbleSort($array){ $len=count($array); //该层循环控制 需要冒泡的轮数 for($i=1;$i<$len;$i++){ / ...

  2. LoadRunner 参数和变量的区别(未完)

    挺久没来更新了,坚持是件不容易的事呢,之后坚持每天总结下前一天的学习点 在LR中,参数是一种更高级的变量,他们能起到同样的效果,但同时也有几点不同 1. 定义方法不同 (这个还没看懂) 2. 调用语法 ...

  3. 第01章(认识Java)

    /***************** ***认识java第一章 *******知识点: **************1.开发环境搭建 **************2.开发工具使用 ********** ...

  4. spring task 配置

    Spring对Quartz作了一个封装,同时,Spring自己也提供了一个任务定时器(spring-task),现把它总结一下.    对于Quartz,我们使用的时候主要是注重两个方面,一个是定时任 ...

  5. 使用express-generator初始化你的项目目录

    express 4.x以后将express命令独立到 express-generator包中,所以想使用express初始化项目目录,可以npm install express-genrator   ...

  6. LaTex编译错误

    Error Launching Console Application PDFTeXify ... Command Line: gbk2uni.exe "XXX" Startup ...

  7. *HDU1251 字典树

    统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others)Total Submi ...

  8. this和super的区别

    this和super的区别 1.this和super都代表什么 * this:代表当前对象的引用,谁来调用我,我就代表谁 * super:本类当前对象的父类内存空间标识 2.this和super的使用 ...

  9. CentOS 6.6 安装 Node.js

    node.js 的 GitHub 地址是:https://github.com/nodejs/node 官网源码包下载地址时:https://nodejs.org/en/download/ ① 获取并 ...

  10. Mvc自定义路由让支持.html的格式

    前言 在大多时候,我们都需要自定义路由,当我们设置为/list/1.html的时候,有的时候会出现以下异常. routes.MapRoute( "category", // 路由名 ...