欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C#教程

當(dāng)前位置:主頁 > 軟件編程 > C#教程 >

基于C#的抽象類別詳解

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C#教程|點(diǎn)擊: 次

抽象類,有3個(gè)特點(diǎn):

第1個(gè),不能被實(shí)例化。

第2個(gè),類中的抽象方法在繼承的子類中必須重寫。

第3個(gè),類一旦有抽象方法出現(xiàn),那這個(gè)類必須定義為抽象類。

現(xiàn)實(shí)開發(fā)中,發(fā)現(xiàn)有共同的代碼,可以把這些共同的代碼放在一個(gè)抽象類中。舉個(gè)例子,計(jì)算四邊形的周長。

矩形,長方形,正方形:

class Rectangle
 {
 private double _A;
 public double A
 {
  get { return _A; }
  set { _A = value; }
 }
 private double _B;
 public double B
 {
  get { return _B; }
  set { _B = value; }
 }
 public Rectangle()
 {
 }
 public Rectangle(double a, double b)
 {
  this._A = a;
  this._B = b;
 }
 public double Perimeter()
 {
  return 2 * (_A + _B);
 }
 }

長斜方形,長菱形:

class Rhomboid 
 {
 private double _A;
 public double A
 {
  get { return _A; }
  set { _A = value; }
 }

 private double _B;
 public double B
 {
  get { return _B; }
  set { _B = value; }
 }
 public Rhomboid()
 {
 }
 public Rhomboid(double a,double b)
 {
  this._A = a;
  this._B = b;
 }
 public double Perimeter()
 {
  return 2 * (_A + _B);
 }
 }

梯形,不等邊四邊形:

class Trapezoid
 {
 private double _A;
 public double A
 {
  get { return _A; }
  set { _A = value; }
 }

 private double _B;
 public double B
 {
  get { return _B; }
  set { _B = value; }
 }

 private double _C;
 public double C
 {
  get { return _C; }
  set { _C = value; }
 }

 private double _D;
 public double D
 {
  get { return _D; }
  set { _D = value; }
 }
 public Trapezoid()
 {
 }
 public Trapezoid(double a,double b,double c,double d)
 {
  this._A = a;
  this._B = b;
  this._C = c;
  this._D = d;
 }
 public double Perimeter()
 {
  return _A + _B + _C + _D;
 }
 }

從上面三個(gè)類別中,你均可以看到有一個(gè)方法,Perimeter()是計(jì)算四邊形的周長。

經(jīng)根博文開頭所言,你可以把這個(gè)方法抽出來,放在一個(gè)抽象類中,統(tǒng)一接口:

public abstract class Quadrilateral
 {
 //周長
 public abstract double Perimeter();
 }

把方法寫成抽象方法之后,每個(gè)類需要繼承此抽象類,并需要重寫 override抽象的方法。

下面驗(yàn)證一下代碼,如需要計(jì)算一個(gè)不規(guī)則的四邊形的周長,那就是4條邊相加:

在控制臺(tái)運(yùn)行:

以上這篇基于C#的抽象類別詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持我們。

上一篇:C#編程高并發(fā)的幾種處理方法詳解

欄    目:C#教程

下一篇:C# 微信支付 wx.chooseWXPay 簽名錯(cuò)誤的解決方法

本文標(biāo)題:基于C#的抽象類別詳解

本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/5311.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有