C#中的抽象类

1、声明一个抽象方法使用abstract关键字。

2、一个类中可以包含一个或多个抽象方法。

3、抽象类中可以存在非抽象的方法。

4、抽象类不能被直接被实例化。

5、实现抽象类用“:”(冒号),实现抽象方法用override关键字。

6、抽象类可以被抽象类所继承,结果仍是抽象类。

7、抽象方法被实现后,不能更改修饰符。

DEMO:

public abstract class Person
  {
    public abstract void SayHello();
    public void about()
    {
      Console.WriteLine("Abstract Demo");
    }
  }

  public class Student : Person
  {
    public override void SayHello()
    {
      Console.WriteLine("SayHello");
    }
  }
  class MainClass
  {
    public static void Main()
    {
      new Student().SayHello();
    }
  }

时间: 2025-01-27 08:02:25

C#中的抽象类的相关文章

对象-java源码中一个抽象类初始化方法中包含一个super(),该怎么理解

问题描述 java源码中一个抽象类初始化方法中包含一个super(),该怎么理解 package org.apache.http.params; import java.util.Set; /** * Abstract base class for parameter collections. * Type specific setters and getters are mapped to the abstract, * generic getters and setters. * * @si

设计-为什么在抽象接口中定义抽象类

问题描述 为什么在抽象接口中定义抽象类 在此处定义了一个抽象接口里面定义了抽象方法 public abstract interface IManagerRoot{ public abstract List<?> getList(); } 定义了一个抽象接口继承抽象接口 public abstract interface IManager extends IManagerRoot{} 这个是抽象接口的实现类 public abstract class ManagerRootImpl implem

第13周-任务2-动物怎么叫?——好玩中理解抽象类

[题目]下面给出了基类Animal和main()函数. (任务2.1)根据main()函数给出的注释提示,设计出相关的各个类. (任务2.2)显然,Animal设计为抽象类更合适,Animal不需要能够实例化,是专门作基类使用的.改造程序,使Animal设计为抽象类,这时main()函数中p =newAnimal();将出错,将此行删除. (任务2.3)每一个Animal的派生类都有一个"名字"数据成员,改造上面的程序,将这一数据成员作为抽象类Animal数据成员被各派生类使用. cl

深入解析Java编程中的抽象类_java

Java程序用抽象类(abstract class)来实现自然界的抽象概念.抽象类的作用在于将许多有关的类组织在一起,提供一个公共的类,即抽象类,而那些被它组织在一起的具体的类将作为它的子类由它派生出来.抽象类刻画了公有行为的特征,并通过继承机制传送给它的派生类.在抽象类中定义的方法称为抽象方法,这些方法只有方法头的声明,而用一个分号来代替方法体的定义,即只定义成员方法的接口形式,而没有具体操作.只有派生类对抽象成员方法的重定义才真正实现与该派生类相关的操作. 在各子类继承了父类的抽象方法之后,

SCALA中的抽象类代码样例

package com.hengheng.scala class AbstractClass { } abstract class People { def speak val name : String var age : Int } class Worker extends People { def speak { println("Hello, Worker!!!") } val name = "Rocky" var age = 27 } object Abs

Java中抽象类与接口的区别

  接口和抽象类有好多相同点和类似点,很多人有过这样的疑问:为什么有的地方必须使用接口而不是抽象类,而在另一些地方,又必须使用抽象类而不是接口呢?或者说,在考虑Java类的一般化问题时,很多人会在接口和抽象类之间犹豫不决,甚至随便选择一种. 理解抽象类 abstract class和interface在Java语言中都是用来进行抽象类(本文 中的抽象类并非从abstract class翻译而来,它表示的是一个抽象体,而abstract class为Java语言中用于定义抽象类的一种方法, 请读者

java-抽象类 子类实现相同方法 想想去执行抽象类中的方法,在从抽象类中调用子类具体方法

问题描述 java-抽象类 子类实现相同方法 想想去执行抽象类中的方法,在从抽象类中调用子类具体方法 如下代码,想得到这样结果execute AA before execute..C execute AA after 应该怎么处理 public class Test { public static void main(String[] args) { C c = new C(); c.A(); } } interface YY { public void A(); } abstract clas

JRuby中使用接口和抽象类

  要在JRuby中实现java接口,接口include进来,实现接口方法即可,例如实现java.lang.Runnable接口做线程处理: require 'java' include_class 'java.lang.Runnable' class TestRunnable     include Runnable     def initialize(name)       @name=name          end     def run       puts "hello,&quo

php中关于抽象(abstract)类和抽象方法的问题分析

 这篇文章主要介绍了php中关于抽象(abstract)类和抽象方法的问题分析,有需要的朋友可以参考一下 在面向对象(OOP)语言中,一个类可以有一个或多个子类,而每个类都有至少一个公有方法作为外部代码访问的接口.而抽象方法就是为了方便继承而引入的,现在来看一下抽象类和抽象方法分别是如何定义以及他们的特点.   什么是抽象方法?我们在类里面定义的只有方法名没有方法体的方法就是抽象方法,所谓没有方法体就是在方法声明的时候没有大括号以及其中的内容,而是直接声明时在方法名后加上分号结束,另外在声明抽象