国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

C#語言初級入門(3)

2019-11-18 19:50:10
字體:
供稿:網(wǎng)友

在這最后一個例子中,我們來看看C#的抽象和多態(tài)性。首先我們來定義一下這兩個新的術(shù)語。抽象(Abstract)通過從多個對象提取出公共部分并把它們并入單獨的抽象類中實現(xiàn)。在本例中我們將創(chuàng)建一個抽象類Shape(形狀)。每一個形狀都擁有返回其顏色的方法,不論是正方形還是圓形、長方形,返回顏色的方法總是相同的,因此這個方法可以提取出來放入父類Shape。這樣,如果我們有10個不同的形狀需要有返回顏色的方法,現(xiàn)在只需在父類中創(chuàng)建一個方法。可以看到使用抽象使得代碼更加簡短。

   在面向?qū)ο缶幊填I(lǐng)域中,多態(tài)性(Polymorphism)是對象或者方法根據(jù)類的不同而作出不同行為的能力。在下面這個例子中,抽象類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();
}

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;
}
}

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() + ".");
}
}

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 志丹县| 天长市| 同仁县| 渭南市| 侯马市| 青龙| 小金县| 皮山县| 蓝山县| 花莲市| 桦南县| 金坛市| 肥西县| 望江县| 凉山| 深圳市| 丰顺县| 札达县| 哈密市| 岱山县| 措勤县| 黄大仙区| 荔浦县| 景东| 饶阳县| 同江市| 榆树市| 凤阳县| 玉环县| 额尔古纳市| 读书| 东宁县| 贡嘎县| 新龙县| 永修县| 家居| 民勤县| 鄂托克旗| 新干县| 鄂托克旗| 丹东市|