




免費預(yù)覽已結(jié)束,剩余4頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、簡要回答下列問題。(1)舉例說明new關(guān)鍵字可用于哪些方面?(2)sealed關(guān)鍵字的作用是什么?什么情況下需要使用sealed關(guān)鍵字?(3)哪些關(guān)鍵字可以用于版本控制?【解答】1)在C#中,new關(guān)鍵字可用作運算符或修飾符。作為運算符用于在堆上創(chuàng)建對象和調(diào)用構(gòu)造函數(shù)。作為修飾符用于隱藏基類成員的繼承成員。2) 在類聲明中使用sealed修飾符可防止其它類繼承此類。在方法聲明中使用sealed修飾符可防止擴充類重寫此方法。sealed修飾符主要用于防止非有意的派生,但是它還能促使某些運行時優(yōu)化。具體說來,由于密封類永遠不會有任何派生類,所以對密封類的實例的虛擬函數(shù)成員的調(diào)用可以轉(zhuǎn)換為非虛擬調(diào)用來處理。3) override關(guān)鍵字和new關(guān)鍵字均可用于版本控制。在C#中,默認情況下方法不是虛擬的。若要使方法成為虛擬方法,必須在基類的方法聲明中使用virtual修飾符。然后,派生類可以使用override關(guān)鍵字重寫基類中的虛擬方法,或使用new關(guān)鍵字隱藏基類中的虛擬方法。如果override關(guān)鍵字和new關(guān)鍵字均未指定,編譯器將發(fā)出警告,并且派生類中的方法將隱藏基類中的方法。2、簡要回答抽象類和接口的主要區(qū)別?!窘獯稹砍橄箢惡徒涌诘囊粋€主要差別是:類可以實現(xiàn)多個接口,但僅能從一個抽象類或任何其它類型的類繼承。3、編寫一個控制臺應(yīng)用程序,完成下列功能,并回答提出的問題。(1)創(chuàng)建一個類A,在構(gòu)造函數(shù)中輸出“A”,再創(chuàng)建一個類B,在構(gòu)造函數(shù)中輸出“B”。(2)從A繼承一個名為C的新類,并在C內(nèi)創(chuàng)建一個成員B。不要為C創(chuàng)建構(gòu)造函數(shù)。(3)在Main方法中創(chuàng)建類C的一個對象,寫出運行程序后輸出的結(jié)果。(4)如果在C中也創(chuàng)建一個構(gòu)造函數(shù)輸出“C”,整個程序運行的結(jié)果又是什么?【解答】using System;public class A public A() Console.WriteLine(A); public class B public B() Console.WriteLine(B); public class C : A B newb = new B();class MainClass public static void Main() C newc = new C(); Console.ReadLine(); 輸出結(jié)果:BA 如果在C中也創(chuàng)建一個構(gòu)造函數(shù)輸出“C”,即添加:public C()Console.WriteLine(C); 則整個程序運行的結(jié)果為:BAC4、編寫一個控制臺應(yīng)用程序,完成下列功能,并寫出運行程序后輸出的結(jié)果。(1)創(chuàng)建一個類A,在A中編寫一個可以被重寫的帶int類型參數(shù)的方法MyMethod,并在該方法中輸出傳遞的整型值加10后的結(jié)果。(2)再創(chuàng)建一個類B,使其繼承自類A,然后重寫A中的MyMethod方法,將A中接收的整型值加50,并輸出結(jié)果。(3)在Main方法中分別創(chuàng)建類A和類B的對象,并分別調(diào)用MyMethod方法。【解答】using System;public class A public virtual void MyMethod(int num) num += 10; Console.WriteLine(num); public class B : A public override void MyMethod(int num) num += 50; Console.WriteLine(num); class MainClass public static void Main() A newa = new A(); newa.MyMethod(2); B newb = new B(); newb.MyMethod(2); Console.ReadLine(); 輸出結(jié)果:12525、假設(shè)Node類的每一個節(jié)點包括有兩個字段:m_data(引用節(jié)點的數(shù)據(jù))和m_next(引用鏈接列表中的下一項)。這兩個字段都是由構(gòu)造函數(shù)方法設(shè)置的。該類有兩個功能,第一個功能是通過名為Data和Next的只讀屬性訪問m_data和m_next字段。第二個功能是對System.Object的ToString虛擬方法進行重寫。試分別用類和泛型兩種方法編寫程序?qū)崿F(xiàn)上述功能?!窘獯稹縰sing System;class Node Object m_data; Node m_next; public Node(Object data, Node next) m_data = data; m_next = next; / 訪問結(jié)點數(shù)據(jù) public Object Data get return m_data; / 訪問下一個結(jié)點 public Node Next get return m_next; / 獲取結(jié)點數(shù)據(jù)描述 public override String ToString() return m_data.ToString(); / 鏈表結(jié)點類的泛型定義class Node T m_data; Node m_next; public Node(T data, Node next) m_data = data; m_next = next; / 訪問結(jié)點數(shù)據(jù) public T Data get return m_data; set m_data = value; / 訪問下一個結(jié)點 public Node Next get return m_next; set m_next = value; / 獲取結(jié)點數(shù)據(jù)描述 public override String ToString() return m_data.ToString(); / 使用結(jié)點類型或泛型結(jié)點類型class LinkedList static void Main(string args) / 創(chuàng)建整數(shù)鏈表 /Node head = new Node(5, null); /head = new Node(10, head); /head = new Node(15, head); /遍歷鏈表求整數(shù)和 /Int32 sum = 0; /for (Node current = head; current != null; / current = current.Next) / / sum += (Int32)current.Data; / / 輸出結(jié)果 /Console.WriteLine(Sum of nodes = 0, sum); / 用泛型創(chuàng)建整數(shù)鏈表 Node head = new Node(5, null); head = new Node(10, head); head = new Node(15, head); / 遍歷求和 Int32 sum = 0; for (Node current = head; current != null; current = current.Next) sum += current.Data; / 輸出 Console.WriteLine(Sum of nodes = 0, sum.ToString(); 1、使用保持連接方式編寫程序,計算各年級平均成績,并顯示結(jié)果?!窘獯稹縰sing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 習(xí)題9_1 public partial class Form1 : Form public Form1() InitializeComponent(); /添加Button按鈕在ListBox中顯示結(jié)果 private void button1_Click(object sender, EventArgs e) listBox1.Items.Add(年級 平均成績); string connectionString = Properties.Settings.Default.MyDatabaseConnectionString; /根據(jù)連接字符串創(chuàng)建SqlConnection實例 SqlConnection conn = new SqlConnection(connectionString); /創(chuàng)建SqlCommand實例,并設(shè)置SQL語句和使用的連接實例 SqlCommand cmd = new SqlCommand(); cmd.CommandText = select substring(學(xué)號,1,2) as 年級,avg(成績) as 平均成績 from MyTable2 group by substring(學(xué)號,1,2); cmd.Connection = conn; try conn.Open(); SqlDataReader r = cmd.ExecuteReader(); while (r.Read() = true) listBox1.Items.Add(string.Format(0級 1, r0, r1); r.Close(); catch (Exception err) MessageBox.Show(err.Message, 計算成績失敗); finally conn.Close(); 2、使用保持連接方式編寫程序,查詢MyTable2中不及格學(xué)生的學(xué)號、姓名、性別和成績。并將結(jié)果在ListBox中顯示出來?!窘獯稹縰sing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 習(xí)題9_2 public partial class Form1 : Form public Form1() InitializeComponent(); private void button1_Click(object sender, EventArgs e) listBox1.Items.Add( 學(xué)號 姓名 性別 成績); string connectionString = Properties.Settings.Default.MyDatabaseConnectionString; /根據(jù)連接字符串創(chuàng)建SqlConnection實例 SqlConnection conn = new SqlConnection(connectionString); /創(chuàng)建SqlCommand實例,并設(shè)置SQL語句和使用的連接實例 SqlCommand cmd = new SqlCommand(); cmd.CommandText = Select 學(xué)號,姓名,性別, 成績 From MyTable2 Where (成績 18 , conn); DataSet dataset = new DataSet(); adapter.Fill(dataset, person); dataGridView1.DataSource = dataset.Tablesperson; adapter.Dispose(); catch (Exception err) MessageBox.Show(err.Message); finally conn.Close(); 5、調(diào)用存儲過程,設(shè)計程序完成下列功能:任意給出一個漢字,統(tǒng)計MyTable2中所有包含該漢字的人數(shù),并顯示統(tǒng)計結(jié)果?!窘獯稹縰sing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 習(xí)題9_5 public partial class Form1 : Form public Form1() InitializeComponent(); private void button1_Click(object sender, EventArgs e) SqlConnection conn = new SqlConnection(Properties.Settings.Default.MyDatabaseConnectionString); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; /設(shè)置S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小區(qū)保安班長管理辦法
- 掃黃大型酒店管理辦法
- 展覽展示公司管理辦法
- 聊城公務(wù)接待管理辦法
- 建筑弱電培訓(xùn)課件大全
- 股票職業(yè)交易培訓(xùn)課件
- 肝腎關(guān)系教學(xué)課件
- 第五單元五上數(shù)學(xué)試卷
- 甘肅高考題數(shù)學(xué)試卷
- 日常用電培訓(xùn)課件
- 毀林毀草違規(guī)行為集中整治實施方案
- 日本2025年食品過敏原培訓(xùn)
- GB/T 45817-2025消費品質(zhì)量分級陶瓷磚
- 安徽省池州市貴池區(qū)2024-2025學(xué)年八年級下學(xué)期數(shù)學(xué)期末檢測試卷(含答案)
- 電廠安規(guī)考試題庫及答案
- 2021-2022學(xué)年浙江省杭州市拱墅區(qū)英語小升初新生分班考試卷 附解析
- 正畸接診標(biāo)準(zhǔn)化流程
- 中心靜脈壓(CVP)監(jiān)測與護理
- 2024-2025學(xué)年人教版(2024)初中英語七年級下冊教學(xué)工作總結(jié)(共4套)
- Unit 1 Happy Holiday 第5課時(Section B 2a-3c) 2025-2026學(xué)年人教版英語八年級下冊
- 2025年中國三元乙丙橡膠市場調(diào)查研究報告
評論
0/150
提交評論