首页 > 代码库 > 抽象类,抽象方法
抽象类,抽象方法
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { //抽象类不能是密封的或静态的 //不能初始化的类被叫做抽象类。抽象类只能被继承。不能被实例化。抽象类中可以包含非抽象方法。这个方法可以由该抽象类的子类对象来调用。 abstract class A //A是一个抽象类 { public abstract void Method(); //抽象类可以包含抽象方法。 public void Sum(int a, int b) //抽象类可以包含非抽象的方法。 { Console.WriteLine(a + b); Console.WriteLine("我的名字叫{0},今年{1}岁",Name,Age); } public abstract string Name { get; set; } //抽象类可以包含抽象属性 public int Age { get; set; } //抽象类可以包含非抽象的属性 } class B :A { public override void Method() //实现“抽象父类”的抽象方法。注意:实现的时候需要加override关键字 { Console.WriteLine("实现父类的抽象方法"); } public override string Name //实现“抽象父类”的抽象属性 { get; set; } } /* class C { //含有抽象方法的类一定是抽象类,也一定要加abstract类修饰符,而这里的C类并不是抽象类。所以下面定义的抽象方法报错 public abstract string Myabstarct(); //错误 1 “Test.C.Myabstarct()”是抽象的,但它包含在非抽象类“Test.C”中 } */ class InheritanceTest1 { static void Main(string[] args) { // A a = new A(); //错误 ,抽象类不能被实例化 B b = new B(); b.Name = "燕子李三"; b.Age = 25; b.Sum(5, 6); //抽象类的非抽象方法只能被子类的对象来调用。 Console.ReadKey(); } } }
抽象类,抽象方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。