抽象类借口构造函数静态方法成员
Posted 瀚城老爷子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抽象类借口构造函数静态方法成员相关的知识,希望对你有一定的参考价值。
一、抽象类(abstract)
-
抽象类不能实例化。
-
抽象类可以包含抽象方法和抽象访问器及非抽象类,但抽象方法一定在抽象方法中。
- 从抽象类派生的非抽象类必须子类继承之后实例化再调用。
-
不能用 sealed 修饰符修饰抽象类,因为这两个修饰符的含义是相反的。 采用 sealed 修饰符的类无法继承,而 abstract 修饰符要求对类进行继承。
注:抽象类是减少代码重写时被继承代码重复量,即:抽象类是用来被继承,常与override连用
二、接口(interface)
1、定义:接口是抽象类的变体。在接口中,所有方法都是抽象的,没有一个有程序体。
2、结构:数据类型 函数名();
子类实现接口中的方法,不需要override关键字
例:
static void Main(string[] args) { bird b=new bird(); Console.WriteLine(b.eat()); Console.WriteLine(b.flying());
Console.WriteLine(b.sing()); Console.ReadLine(); } public abstract class fly { public abstract string flying(); public string eat() { return "吃饱了才能飞"; } }
public interface jiao
{
string sing();
}
public class bird :fly,jiao { public override string flying() { return "吃完虫子就要飞"; }
public string sing()
{
return "叽叽喳喳的叫";
}
}
三、构造函数
1、定义:构造函数 ,是一种特殊的方法,即:与类名相同的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。
例:无参数构造函数
static void Main(string[] args) { fly b = new fly(); Console.WriteLine(b.Name); Console.ReadLine(); } public class fly { public fly() { _name = "jksd"; } private string _name; public string Name { get { return _name; } set { _name = value; } } }
有参数构造函数
class Program { static void Main(string[] args) { fly b = new fly("kajlk"); Console.WriteLine(b.Name); Console.ReadLine(); } } public class fly { public fly(string s) { _name = s; } private string _name; public string Name { get { return _name; } set { _name = value; } } }
四、静态方法和成员(static)
1、定义:若类的方法前加了static关键字,则该方法称为静态方法,反之为实例方法
2、特点:
-
静态方法的调用,是类名后直接加静态方法。实例方法必须将类实例化后,用实例调用该实例方法。
-
静态方法,只能调用类中的其他静态属性和静态方法,不能调用类中的非静态属性和非静态方法。
-
实例方法, 可以调用静态属性和静态方法,也可以调用实例属性和实例方法。
-
静态方法是属于类的必须由类来调用,实例方法是属于实例的必须实例化类后,用类的实例调用。
例:
class Program { static void Main(string[] args) { fly.flying("kldsl;a"); Console.WriteLine(fly._name); Console.ReadLine(); } } public class fly { public static string _name; public static void flying(string s) { _name = s; } }
以上是关于抽象类借口构造函数静态方法成员的主要内容,如果未能解决你的问题,请参考以下文章