C#语言初级入门(2)

下面这个例子示范如何创建和使用用户定义的类以及如何创建动态链接库。利用文本编辑器创建两个文件。第一个是Apple.cs,内容如下:
public class Apple {

   private string variety = "";

   public Apple(string appleVariety) {
      this.variety = appleVariety;
   }

   public void outputVariety() {
      System.Console.WriteLine(variety);
   }

}

   第二个文件是Example2.cs,内容如下:

class Example2 {

   static void Main() {
     Apple mac = new Apple("Macintosh ");
     Apple gra = new Apple("Granny Smith");
     Apple cor = new Apple("Cortland");
     mac.outputVariety();
     gra.outputVariety();
     cor.outputVariety();
   }
}

   首先,我们定义了一个新的用户定义类,名字为Apple。虽然Apple类并不一定要放到独立的文件中,但把每个类都放到自己独立的文件中是一个好的面向对象编程习惯,有助于简化组织和管理。我们为Apple类的声明加上了public修饰符(public class Apple),这样其他类就可以创建Apple类的实例。

   下一行代码定义了实例变量variety。使用了修饰符private之后,只有在Apple类的内部才可以直接访问variety变量。这是一种常见的面向对象编程习惯,称为封装。封装之后,对象的工作细节对于对象的用户来说就隐藏不可见了。你现在正使用的键盘就是封装在现实世界中一个很好的例子。我们并不完全了解键击如何发送到控制器(我们之中的大多数都不知道),但只要理解它的接口如何运作就可以了。例如我们知道,打开文本编辑器,按下键盘上的“&”键,“&”字符就会出现在屏幕上。如果每一个人都必须了解键盘的工作细节而不是只要了解它的接口,我们之中不会有很多人使用它。

   接下来的三行代码是:

  public Apple(string appleVariety) {
      this.variety = variety;
   }

   这三行代码定义了Apple类的构造函数。类的构造函数类似一个描述如何创建类实例的蓝图。我们能够很容易地将构造函数和类里面的其他方法区分开来,因为构造函数总是和类具有相同的名字。在本例中,类Apple的构造函数有一个字符串参数,这个参数值随后被保存到实例变量variety。

   Apple类的最后一个方法是outputVariety()。这个方法为访问实例变量提供了接口,所以称为存取方法(Accessor Method)。

   下面我们来看Example2类。这个例子与前文例子的区别在于要创建并使用用户定义类Apple的实例。我们用new操作符创建了三个Apple类的实例。创建类的实例时,我们无需显式地调用类的构造函数,new操作符将自动为我们调用类的构造函数。创建了三个Apple类的对象之后,我们依次调用这三个对象的outputVariety方法,由outputVariety方法输出这三个对象里variety的值。

   下面我们来编译和运行这个例子。首先我们要把Apple类编译成动态链接库,命令如下:

csc /target:library Apple.cs

   /target:library表示不要创建执行文件,而是创建一个.dll文件(即动态链接库)。所以,上面的命令将生成一个Apple.dll文件。

   接下来我们编译Example2.cs,编译命令如下所示:

csc /reference:Apple.dll Example2.cs

   现在我们得到了执行文件Example2.exe。执行这个文件可以在控制台上看到如下输出:

Macintosh
Granny Smith
Cortland

  

时间: 2024-09-19 07:21:50

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

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#语言初级入门(4)

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

C#语言初级入门(3)

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

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