参考:http://www.runoob.com/csharp/csharp-polymorphism.html

https://zhidao.baidu.com/question/587686949.html?from=commentSubmit#answers1471481219

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApplication2
{
public abstract class People //声明一个抽象类
{
public People()//这是构造函数
{
Console.WriteLine("我是 人 的类,我这不叫被实例化了");
} public abstract void study(); //抽象方法只能定义在抽象类中。 } public class Student : People //继承抽象类
{
public Student()//这是构造函数
{
Console.WriteLine("我是学生类,我被实例化了");
} public override void study() //重写抽象类的抽象方法
{ Console.WriteLine("好好学习,天天向上!"); }
}
public class Teacher : People //继承抽象类
{
public Teacher()//这是构造函数
{
Console.WriteLine("我是教师类,我被实例化了");
} public override void study() //重写抽象类的抽象方法
{ Console.WriteLine("学习大牛论文,发文章,拿基金!"); }
}
class Program
{
static void Main(string[] args)
{
Student t = new Student();//实例化派生类 People p = t; //使用派生类对象实例化抽象类 //以上两句等价于 People p = new Student();//使用派生类对象实例化抽象类; p.study(); //使用抽象类对象调用抽象类中的抽象方法study
People p2 = new Teacher();
p2.study();
}
}
}

抽象类抽象方法

c# 抽象类和抽象方法的更多相关文章

  1. C#抽象类、抽象方法、虚方法

    定义抽象类和抽象方法: abstract 抽象类特点: 1.不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例 2.一个抽象类可以包含抽象和非抽象方法,当一个类 ...

  2. C#抽象类、抽象方法、抽象属性

    定义 在C#中使用关键字 abstract 来定义抽象类和抽象方法. 不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例."一个包含一个或多个纯虚函数 ...

  3. 【Java基础】抽象类和抽象方法的总结

    什么是抽象类 抽象类是相同概念实体的一种抽象,Java中用关键字abstract来定义抽象类和抽象方法. 什么是抽象方法 只有方法的声明,没有方法的具体实现的方法. 抽象类和抽象方法的特点 抽象类和抽 ...

  4. java抽象类和抽象方法之间的关系

    抽象类和抽象方法之间的关系有抽象方法的类,一定是抽象类:抽象类不一定有抽象方法当子类继承抽象类时,必须要将抽象类中的抽象方法全部实现(或者称为重写),否则子类依然是抽象类因为子类是继承父类全部内容,所 ...

  5. PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化)/约束类型/魔术方法小结

      前  言  OOP  学习了好久的PHP,今天来总结一下PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化). 1  PHP中的抽象 ...

  6. java抽象类、抽象方法、接口、实现接口详解

    对于java中的抽象类,抽象方法,接口,实现接口等具体的概念就不在这里详细的说明了,网上书本都有很多解释,主要是我懒,下面通过一个例子来说明其中的精髓要点,能不能练成绝世武功,踏上封王之路,就看自己的 ...

  7. C#中的抽象类、抽象方法和虚方法

    [抽象类]abstract 修饰符可与类和方法一起使用定义抽象类的目的是提供可由其子类共享的一般形式.子类可以根据自身需要扩展抽象类.抽象类不能实例化.抽象方法没有函数体.抽象方法必须在子类中给出具体 ...

  8. C# -- 抽象类与抽象方法

    C#: 抽象类与抽象方法 1.代码 class Program { static void Main(string[] args) { ; i < ; i++) { == ) { Storage ...

  9. java抽象类和抽象方法

    首先应该明确一点的是,抽象方法必须定义在抽象类中. 先看一个抽象类的定义: public abstract class Animal { public abstract void eat(); pub ...

  10. 关于Java 实现抽象类的抽象方法的特性的利用---面向切面

    今天看工作看代码突然有了以下设想: /** * Created by zq on 2017/5/25. * 抽象类 */ public abstract class AbstractC { publi ...

随机推荐

  1. swift - view的指定位置切圆角

    1. extension UIView{ func addCorner(conrners: UIRectCorner , radius: CGFloat) { let maskPath = UIBez ...

  2. [leetcode]387. First Unique Character in a String第一个不重复字母

    Given a string, find the first non-repeating character in it and return it's index. If it doesn't ex ...

  3. Mybatis常用标签使用

    trim元素的主要功能是可以在自己包含的内容前加上某些前缀,也可以在其后加上某些后缀,与之对应的属性是prefix和suffix:可以把包含内容的首部某些内容覆盖,即忽略,也可以把尾部的某些内容覆盖, ...

  4. Tomcat配置远程调试端口(windows、Linux)

    当我们需要定位生产环境问题,而日志又不清晰的情况下,我们可以借助Tomcat提供的远程调试,设置如下: // Linxu系统: apach/bin/startup.sh开始处中增加如下内容: decl ...

  5. 46-wxpython 4 使用 grid 展示表格

    转载:https://blog.csdn.net/soslinken/article/details/79024938#%E4%BD%BF%E7%94%A8%E6%A0%B7%E4%BE%8B wxp ...

  6. listView 滑动时 滑到一半自动滑动到对应的位置

    package com.bi.demo; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; impo ...

  7. YII2 在使用控制器调试微信接口时报错 Unable to verify your data submission

    出现这个原因,是因为提交数据时,被YII2的CSRF验证给拦截了. 只需要在当前控制器设置一个属性,关闭该验证就可以了. public $enableCsrfValidation = false;

  8. Django TypeError: isinstance() arg 2 must be a type or tuple of types

    报错: TypeError: isinstance() arg must be a type or tuple of types from django.db import modelsfrom dj ...

  9. Android——Activity练习

    manifests里的AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> < ...

  10. The 10 Best Choices On The Market Review 2018

    Looking to buy a scan tool or considering one of Autel Scanner impressive product line?. The company ...