C#抽象方法與抽象實例--C#基礎


1、抽象方法與抽象類的聲明

1)抽象類和抽象方法聲明必須包含abstract

2)抽象方法的聲明沒有方法體:public abstract void fly();

3)抽象類和抽象法前加上public,不加默認會是private。

4)抽象類的聲明就是為了派生和繼承,標記為sealed,是不可以繼承的。

5)抽象類不能實例化,也就是不能用new、sealed,必須通過繼承由派生類實現其抽象方法

6)抽象類可以包含非抽象方法

7)筆記原文:

Program.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//抽象類加abstract
//public abstract Fky(){}//默認是private
//public abstract void fly();抽象方法聲明沒有方法體
//抽象類和抽象方法多的聲明必須包含abstract
//抽象類的聲明就是為了派生和繼承,如果標記為sealed,不可以繼承了
//抽象類不能實例化,必須通過繼承由派生類實現其抽象方法,因此不能用new、sealed
//抽象類中可以包含非抽象方法
namespace 抽象類與抽象方法
{
class Program
{
static void Main(string[] args)
{

}
}
}

2、抽象類與抽象實例

Pow.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 抽象類和抽象法實例
{
public abstract class Pow
{
public abstract void PowMehod(int x,int y);
}
}

Pow1.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 抽象類和抽象法實例
{
class Pow1:Pow
{
public override void PowMehod(int x,int y)
{
int pow = 1;
for (int i = 1; i <= y; i++)
{
pow *= x;
}
Console.WriteLine("求冪的結果是:"+pow);
}
}
}

Pow2.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 抽象類和抽象法實例
{
class Pow2:Pow
{
public override void PowMehod(int x, int y)
{

Console.WriteLine("求冪的結果:"+System.Math.Pow(x,y));
}
}
}

Program.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 抽象類和抽象法實例
{
class Program
{
static void Main(string[] args)
{
//Pow pow = new Pow();抽象類不可以實例化
Pow1 pow1 = new Pow1();
pow1.PowMehod(2,10);
Pow2 pow2 = new Pow2();
pow2.PowMehod(2,10);
Console.ReadKey();
//abstract方法:沒有自己的實現。
//virtual方法
//共同點:都可以通過overrid來實現對原來的方法的重寫
}
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM