北京网站建设一条龙,拼多多cms网站怎么做,视频拍摄教学,查建设公司年度保证金网站c#抽象类
namespace demo1
{/// summary/// 抽象类是作为一种抽象的概念#xff0c;是基类/// 在抽象类中声明方法#xff0c;加上abstract就是抽象方法。所有有抽象类派生出来的都要重载实现抽象方法/// 抽象方法不可以使用virtual、static、和prevate修饰/// 抽象…c#抽象类
namespace demo1
{/// summary/// 抽象类是作为一种抽象的概念是基类/// 在抽象类中声明方法加上abstract就是抽象方法。所有有抽象类派生出来的都要重载实现抽象方法/// 抽象方法不可以使用virtual、static、和prevate修饰/// 抽象方法提供一个声明不提供具体实现/// 抽象类不能直接实例化/// 抽象类不能被密封/// 抽象类可以包含抽象成员非抽象类不可以/// /summary //定义一个基类shapepublic abstract class Shape{protected string Color;// protected 可以允许派生类访问它的基类成员public Shape(string color) //构造函数{this.Color color;}public string GetColor(){ return this.Color; }public abstract double GetArea();}//定义一个cirle类public class Cirle : Shape{//prevate 只有在同一个类中可以访问private double Radius; public Cirle(string color,double radius):base(color){this.Colorcolor;this.Radius radius;}public override double GetArea() //继承基类必须重载抽象方法{return System.Math.PI * this.Radius*this.Radius;}}internal class Progrom{static void Main(string[] args){Cirle anew Cirle(黄色,1);double ba.GetArea();Console.WriteLine(b);}}}c#密封类
namespace demo1
{/// summary/// 密封类如果所有类都可以被继承那么很容易导致继承的滥用进而使类的层次结构体系变得十分复杂这样会使开发人员对类的理解和使用变得十分困难。为了避免滥用继承C#中提出了密封类的概念。/// 密封类可以用来限制扩展性如果密封了某个类则其他类不能从该类继承/// 如果密封了某个成员则派生类不能重写该成员的实现/// /// /summaryinternal class Progrom{public class Myclass1 { public virtual void Write(){Console.WriteLine(class1 这是一个未密封的方法);//这是一个虚函数可以被重写}}public class Myclass2:Myclass1{//继承之后可以对虚方法进行重写public sealed override void Write(){Console.WriteLine(这是myclass2中密封的方法);}}public class Myclass3 : Myclass2{//继承之后可以对虚方法进行重写//public override void Write()//{///这是密封的不可以在进行重写//}}static void Main(string[] args){Myclass1 a new Myclass1();a.Write();Myclass2 b new Myclass2();b.Write(); }}}