C#类和接口

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

原文地址:https://www.cnblogs.com/lidaying5/p/5846545.html