C#语法练习(12): 类[四]

抽象类不能直接实例化:

using System;

abstract class MyClass
{

}

class Program
{
   static void Main()
   {
     /* 抽象类不能直接实例化, 下面这样会出错 */
     MyClass obj = new MyClass();

     Console.ReadKey();
   }
}

但抽象类可以通过子类实例化:

using System;

abstract class Parent { }

class Child : Parent { }

class Program
{
   static void Main()
   {
     Parent obj = new Child();
     Console.WriteLine(obj.ToString()); //Child

     Console.ReadKey();
   }
}

时间: 2024-10-25 01:14:04

C#语法练习(12): 类[四]的相关文章

Swift语法专题十——类和结构体

Swift讲解专题十--类与结构体 一.引言         Swift中的类与结构体十分相似,和Objective-C不同的是,Swift中的结构体不仅可以定义属性,也可以像类一样为其定义方法.         Swift中的类与结构体有如下相似点: 1.定义属性来存储值. 2.定义函数来提供功能. 3.通过定义下标语法使用下标的方式取值. 4.定义构造方法来对其进行初始化. 5.通过扩展来在原始基础上添加功能. 6.通过协议来定义实现标准. 当然类和结构体也有许多不同点,下面这些功能是类独有

《C++面向对象高效编程(第2版)》——2.12 类中的访问区域

2.12 类中的访问区域 C++面向对象高效编程(第2版)每个类都有3个不同的访问区域.在我使用过的所有OOP语言中,只有C++精心设计了这3个区域. public区域是最重要的区域,为类的用户指定了类的接口.任何客户都可以访问public区域. 本书的源代码样式 (1)所有的类名都以T开始.类的行为与在语言中添加的新类型类似,因此使用前缀T 1.但是,在表示实现这些类的文件名时,去掉T.例如,包含TInt接口的文件名是Int.h. (2)所有的成员函数名,首字母大写(如Add().FlipSl

java语法-struts2 scope类语法问题

问题描述 struts2 scope类语法问题 package com.opensymphony.xwork2.inject; import java.util.concurrent.Callable; public enum Scope { DEFAULT { @Override InternalFactory<? extends T> scopeFactory(Class type, String name, InternalFactory<? extends T> facto

JSP语法(12)——

js|语法 <jsp:useBean> 创建一个Bean实例并指定它的名字和作用范围. JSP 语法<jsp:useBean id="beanInstanceName" scope="page | request | session | application" { class="package.class" | type="package.class" | class="package.class

C#语法练习(13): 类[五]

通过索引器可以方便使用类中的数组(或集合)成员: using System; class MyClass { private float[] fs = new float[3] { 1.1f, 2.2f, 3.3f }; /* 属性 */ public int Length { get { return fs.Length; } set { fs = new float[value]; } } /* 索引器 */ public float this[int n] { get { return f

C#语法练习(9): 类[一]

所有类默认继承于 System.Object(或叫 Object): using System; class MyClass1 { } class MyClass2 : Object { } class MyClass3 : System.Object { } class Program { static void Main() { MyClass1 obj1 = new MyClass1(); MyClass2 obj2 = new MyClass2(); MyClass3 obj3 = ne

理解Delphi的类(四)

先勾画一下思路: 1.建立一个类, 里面有年龄字段 FAge; 2.通过 Age 属性读写 FAge; 3.如果输入的年龄刚好是 100 岁, 将会激发一个事件, 这个事件我们给它命名为: OnHundred unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TFor

Silverlight+WCF 新手实例 象棋 棋子定位与象棋类(四)

上节创建显示了一颗棋子,由于没有margin属性,所以只能靠边站. 现在,我们创建一个象棋类,让它包括棋盘和棋子,同时附加几个常用函数. 还是对着Silverlight类库项目右键添加类:Chess.cs /// <summary>     /// 象棋 by 路过秋天     /// </summary>    public class Chess     {     }   既然要包括象棋当然是要包括棋盘和棋子了,于是我们为之加两个属性,棋子有很多颗,所以用List列表.  /

轻松把玩HttpClient之封装HttpClient工具类(四),单线程调用及多线程批量调用测试

       本文主要来分享一下该工具类的测试结果.工具类的整体源码不再单独分享,源码基本上都已经在文章中了.开始我们的测试.        单线程调用测试: public static void testOne() throws HttpProcessException{ System.out.println("--------简单方式调用(默认post)--------"); String url = "http://tool.oschina.net/"; //