C#语言初级入门(4)

我们创建的第一个类是Shape。这是一个抽象类,因为我们不想创建这个类的实例,我们要创建的是它的派生类的实例。我们从所有的形状(圆、长方形、正方形)提取出共同特征到Shape类。Shape类有一个实例变量color,它的变量声明中带有protected修饰符。protected修饰符表示这个变量只能在类的内部或者该类的派生类中访问。紧接这个变量声明的就是Shape类的构造函数和存取方法getColor(),这两个方法都没有什么新的东西。最后一个方法getArea()加上了abstract修饰符,这是因为每一种不同的形状都有不同的面积计算方法,因此这个方法必须由各种形状自己来定义。

   接下来的三个类Circle、Rectangle和Square都从Shape类派生,它们都具有Shape所描述的特征。这可以从它们的定义中看出来,它们的声明中都带有“public class:Shape {”,这个“: Shape”就表示当前的类从Shape类派生。由于这三个类都从Shape派生,它们自动拥有Shape中定义的所有public或者protected实例变量,即Circle、 Rectangle和Square包含了实例变量color。

   每一个Sharp的派生类都有自己的构造函数,负责调用父类Shape的构造函数设置公共的实例变量(color)以及设置自己特有的实例变量。例如“public Circle(string color, double radius) : base(color)”这个语句中,“: base(color)”就表示用参数color调用父类的构造函数。

   最后我们来看一下getArea()方法,它是一个多态性的示范。所有形状都有getArea()方法,但是根据对象是圆、长方形还是正方形,具体调用的方法也不同。

   要运行这个例子,先把所有文件保存到同一目录,然后执行下面的命令:

csc /target:library /out:Shapes.dll
        Shapes.cs Circle.cs Rectangle.cs Square.cs

   然后执行:

csc /reference:Shapes.dll Example3.cs

   现在,如果我们运行Example3.exe,将得到如下输出:

圆的颜色是orange它的面积是28.274333882308138.
正方形的颜色是green它的面积是16.
长方形的颜色是red 它的面积是32.

   参考:

C# 语言参考
C# Station

时间: 2024-11-21 05:08:40

C#语言初级入门(4)的相关文章

C#语言初级入门(1)

导读 C#是Microsoft开发的一种新语言,它和C/C++一样强大,和Java一样提供丰富的网络编程支持和自动内存管理,和VB一样简单易用.本文的目的是为尚未接触过C#的程序员介绍这种编程语言,是一个基础的入门教程.作者:仙人掌工作室2001-02-20 原文出处:http://journal.iftech.com/articles/0011_joey_CSharp/ C#读作"C sharp",它是Microsoft开发的一种新语言,结合了C/C++的强大功能和Visual Ba

C#语言初级入门(3)

在这最后一个例子中,我们来看看C#的抽象和多态性.首先我们来定义一下这两个新的术语.抽象(Abstract)通过从多个对象提取出公共部分并把它们并入单独的抽象类中实现.在本例中我们将创建一个抽象类Shape(形状).每一个形状都拥有返回其颜色的方法,不论是正方形还是圆形.长方形,返回颜色的方法总是相同的,因此这个方法可以提取出来放入父类Shape.这样,如果我们有10个不同的形状需要有返回颜色的方法,现在只需在父类中创建一个方法.可以看到使用抽象使得代码更加简短. 在面向对象编程领域中,多态性(

C#语言初级入门(2)

下面这个例子示范如何创建和使用用户定义的类以及如何创建动态链接库.利用文本编辑器创建两个文件.第一个是Apple.cs,内容如下: public class Apple {    private string variety = "";    public Apple(string appleVariety) {      this.variety = appleVariety;   }    public void outputVariety() {      System.Cons

C#语言初级入门介绍_基础应用

 本文的目的在于为尚未接触过C#的程序员介绍这种编程语言.不论你以前是否用过C/C++或者Java,都可以从本文开始学习C#.本文的唯一假定是你具有某种类型的编程知识(如具有面向对象编程的经验则更好,但并非必须),并拥有某种类型的C#编译器. 最简单的C#程序 首先我们来看标准的Hello World程序.用文本编辑器创建一个新文件HelloWorld.cs,把下面的代码放入这个文件: // 第一个c#程序 class HelloWorld { static void Main() { Syst

SQL语言快速入门(一)

sql语言|快速入门 SQL是英文Structured Query Language的缩写,意思为结构化查询语言.SQL语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言.SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等.目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准.虽然

SQL语言快速入门(三)

sql语言|快速入门 我们日常使用SQL语言的工作过程中,使用最多的还是从已经建立好的数据库中查询信息.下面,我们就来详细介绍一下如何使用SQL语言实现各种数据库查询操作. SELECT-FROM 为方便讲解,我们在数据库中创建名为Store_Information的如下数据表. Store_Information Store_Name Sales Date Los Angeles 00 Jan-10-2000 San Diego 0 Jan-11-2000 Los Angeles 0 Jan-

SQL语言快速入门(二)

sql语言|快速入门 创建表格 SQL语言中的create table语句被用来建立新的数据库表格.Create table语句的使用格式如下: create table tablename (column1 data type, column2 data type, column3 data type); 如果用户希望在建立新表格时规定列的限制条件,可以使用可选的条件选项: create table tablename (column1 data type [constraint], colu

SQL语言快速入门之一

sql语言|快速入门 SQL是英文Structured Query Language的缩写,意思为结构化查询语言.SQL语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言.SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等.目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准.虽然

SQL语言快速入门之二

sql语言|快速入门 创建表格 SQL语言中的create table语句被用来建立新的数据库表格.Create table语句的使用格式如下: create table tablename (column1 data type, column2 data type, column3 data type); 如果用户希望在建立新表格时规定列的限制条件,可以使用可选的条件选项: create table tablename (column1 data type [constraint], colu