標籤:thread cti 重寫 static text 方法 結果 collect ext
1、抽象方法與抽象類別的聲明1)抽象類別和抽象方法聲明必須包含abstract2)抽象方法的聲明沒有方法體: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來實現對原來的方法的重寫
}
}
}
C#抽象方法與抽象執行個體--C#基礎