C#语言初级入门(3)

2016-01-29 13:54 6 1 收藏

C#语言初级入门(3),C#语言初级入门(3)

【 tulaoshi.com - ASP.NET 】

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

   在面向对象编程领域中,多态性(Polymorphism)是对象或者方法根据类的不同而作出不同行为的能力。在下面这个例子中,抽象类Shape有一个getArea()方法,针对不同的形状(圆形、正方形或者长方形)它具有不同的功能。

   下面是代码:


public abstract class Shape {
protected string color;
public Shape(string color) {
this.color = color;
}
public string getColor() {
return color;
}
public abstract double getArea();
}

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

public class Circle : Shape {
private double radius;
public Circle(string color, double radius) : base(color) {
this.radius = radius;
}
public override double getArea() {
return System.Math.PI * radius * radius;
}
}

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

public class Square : Shape {
private double sideLen;
public Square(string color, double sideLen) : base(color) {
this.sideLen = sideLen;
}
public override double getArea() {
return sideLen * sideLen;
}
}

/*
public class Rectangle : Shape
...略...
*/

public class Example3
{
static void Main()
{
Shape myCircle = new Circle("orange", 3);
Shape myRectangle = new Rectangle("red", 8, 4);
Shape mySquare = new Square("green", 4);
System.Console.WriteLine("圆的颜色是" + myCircle.getColor()
+ "它的面积是" + myCircle.getArea() + ".");
System.Console.WriteLine("长方形的颜色是" + myRectangle.getColor()
+ "它的面积是" + myRectangle.getArea() + ".");
System.Console.WriteLine("正方形的颜色是" + mySquare.getColor()
+ "它的面积是" + mySquare.getArea() + ".");
}
}

来源:http://www.tulaoshi.com/n/20160129/1491942.html

延伸阅读
C#中程序结构的关键概念为程序、命名空间、类型、成员和程序集。C#程序包括一个或多个源文件。程序中声明类型,类型包含成员并能够被组织到命名空间中。类和接口是类型的例子。字段、方法、属性和事件则是成员的例子。当C#程序被编译时,它们被物理地打包到程序集中。程序集的文件扩展名一般为.exe或者.dll,这取决于它们是实现为应用程序...
这可不是我写的,我只是看到觉得不错,才贴的哦。 : 不要以为这个题目是耸人听闻,但就目前的形势来看c/c++是需要退出舞台或者说的婉转一点是需要更新换代了. 我想在未来的一两年里,作为程序员等级评判的标准之一c/c++(不管是mfc还是bcb)将会让位给三种编程语言,1.sun的java2.windows平台上的c#3.xml 为什么这么说呢,我认为最大理由是目前...
从程序流程的角度来看,程序可以分为三种基本结构, 即顺序结构、分支结构、循环结构。 这三种基本结构可以组成所有的各种复杂程序。C语言提供了多种语句来实现这些程序结构。 本文将介绍这些基本语句及其应用,使读者对C程序有一个初步的熟悉, 为以后的学习打下基础。 C程序的语句 C程序的执行部分是由语句组成的。 程序的功能...
Linq项目简介和开发环境的搭建   9月份,微软推出了一项名为“Linq项目”的新技术,用于在.NET语言中集成数据查询的功能。您可以从http://msdn.microsoft.com/netframework/future/得到Linq项目的技术预览版,其中包括大量的介绍文章(英文)和C# 3.0以及VB 9.0的编译器。   Linq项目英文全称为Langu...
类(class)是C#类型中最基础的类型。类是一个数据结构,将状态(字段)和行为(方法和其他函数成员)组合在一个单元中。类提供了用于动态创建类实例的定义,也就是对象(object)。类支持继承(inheritance)和多态(polymorphism),即派生类能够扩展和特殊化基类的机制。使用类声明可以创建新的类。类声明以一个声明头开始,其组成方式如...

经验教程

874

收藏

41

精华推荐

Visual C#编程入门之语句

Visual C#编程入门之语句

皇者1352064649

C#学习笔记(3)

C#学习笔记(3)

521且行且珍惜

使用C#开发SmartPhone程序入门

使用C#开发SmartPhone程序入门

北风荷枪实弹

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部