抽象類和匿名方法的使用
問題:
實驗5---第4題
建立抽象類A,(包含一個求兩個數之和的抽象方法,)
建立子類B(重寫求和方法,使得可計算整數,雙精度,字串)
程式碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
B S1 = new B();
S1.add(123,123);
S1.add(12.3, 45.6);
S1.add("hello", " c#");
Console.ReadKey();
}
}
//抽象類A
abstract class A
{
public abstract void add(int a, int b);
};//注意標點
class B : A
{
public override void add(int a, int b)//同一個函式只需要這一個重寫符號就可以
{
//Console.WriteLine("兩整數相加的和是:{0}", a+b);
Console.WriteLine(a + b);
}
public void add(double a, double b)
{
// Console.WriteLine("兩雙精度數相加的和是:{1}", a + b);
Console.WriteLine("兩雙精度數相加的和是:{0}", a + b);
//一個console.writeline({0},{1}....)是這樣從0開始輸出
}
public void add(string a, string b)
{
//Console.WriteLine("兩字串相加是:{2}", a + b);
Console.WriteLine("兩字串相加是:{0}", a + b);
}
}
}
問題:
實驗6-第3題
計算整數型陣列各元素之和的功能
程式碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace 匿名檔案
{
delegate void MyDelegate(int x, int y);
class Program
{
static void Main(string[]args)
{
// int sum = 0;
string s;
int s1,s2;
int sum=0;
MyDelegate add = delegate(int m, int n)
{
sum = sum+m+n;
};
Console.WriteLine("輸入exit結束,輸出所有數的和");
while (true)
{
s=Console.ReadLine();
if (s == "exit")
{
Console.WriteLine("{0}",sum);
break;
}
else
{
s1=int.Parse(s);
s=Console.ReadLine();
if (s== "exit")
{
Console.WriteLine("{0}", sum+s1);//防止計算奇數個數的和
break;
}
s2 = int.Parse(s);
add(s1,s2);
}
}
Console.ReadKey();
}
}
}
總結:
注意抽象類的繼承同一個函式只需要一個override就可,
注意輸出函式console.writeline({0},{1},{2},.....);一個語句中的變數是從0開始的。
相關文章
- 抽象方法和抽象類抽象
- 抽象類和抽象方法抽象
- java抽象類和抽象方法Java抽象
- Java抽象(方法,類)和Java的介面Java抽象
- 抽象類、抽象欄位、抽象方法抽象
- scala_繼承、型別判斷、抽象類、匿名內部類繼承型別抽象
- 介面和抽象類使用的一點體會抽象
- 介面的行為抽象和抽象類的行為抽象抽象
- 介面和抽象類抽象
- 抽象類和介面抽象
- 實驗--抽象類的使用抽象
- C#新特性:匿名類和擴充套件方法C#套件
- c# abstract抽象類及抽象方法_繼承C#抽象繼承
- 介面和抽象類的區別抽象
- 多型和抽象類多型抽象
- 介面和抽象類 (abstract)抽象
- Java關鍵字之abstract(抽象類的概念和使用)Java抽象
- Java內部類和匿名內部類的用法Java
- PHP 抽象類繼承抽象類時的注意點PHP 抽象類繼承抽象類時的注意點PHP抽象繼承
- 注意!非靜態內部類和非靜態方法的匿名類的this$0屬性
- 使用 Lambda 取代 Android 中的匿名類Android
- java中抽象類和介面Java抽象
- 介面和抽象類詳解抽象
- C++ 抽象類快速使用C++抽象
- 分解和組合的抽象方法抽象
- c# abstract抽象類_非抽象類_virtual_虛方法_override重寫C#抽象IDE
- PHP 抽象類繼承抽象類時的注意點PHP抽象繼承
- 使用內部和匿名類最佳化Java程式碼(轉)Java
- java介面和抽象類的簡單理解Java抽象
- JAVA中介面和抽象類的區別Java抽象
- 深入理解Java的介面和抽象類Java抽象
- java中的抽象類abstract怎麼使用?Java抽象
- 設計模式-模版設計模式概述和使用-抽象類設計模式抽象
- Java之繼承和抽象類Java繼承抽象
- Java基礎-抽象類和介面Java抽象
- 抽象類和介面的區別抽象
- 繼承 重寫和抽象類繼承抽象
- Java抽象類和介面 小白版Java抽象