第一篇:《面向對象程序設計技術》課程設計要求及進度安排和成績評定方法
《面向對象程序設計技術》課程設計要求及進度安排和成績評定方法
一、設計要求
1、設計的題目要求達到一定工作量,并具有一定的深度和難度,程序代碼不得少于200行。
2、按面向對象的程序設計思想對問題進行抽象,并有相應文檔產生。
3、要求設計的軟件能夠正確運行,達到題目要求。
4、編寫出課程設計說明書(并附程序源代碼),以電子文檔方式上交教師批閱。設計說明書主要包括以下內容:
(1)對所設計的問題進行詳細描述。
(2)系統所完成的功能描述。
(3)論述所設計的問題抽象方法及設計方法。
(4)所設計軟件的測試方法、測試數據及測試結果。
(5)對所設計的軟件進行自我評價,如創新點、未解決的問題等情況說明。
(6)附程序源代碼。
二、進度安排
正確理解所設計的題目并進行問題抽象,確定設計方案2天
編代碼3天
調試和測試3天
編寫設計說明書1天
系統驗收及成績評定1天
三、設計成績評定
評定依據:
1.問題的理解及抽象能力。
2.設計過程中獨立工作能力。
2.設計說明書﹑程序清單﹑開發的程序質量與工作量。
4.設計題目的先進性和實用價值。
5.創新能力。
評定等級:
百分制
四、設計成績評定辦法
90及以上:按時完成設計題目的全部內容,程序結構設計合理,功能完善,有一定的創造性,表現了較強的獨立工作能力。說明書文字通順準確,層次清楚。
80~89:按時完成設計題目的全部內容,程序結構設計合理,功能較完善,有一定能力。說明書基本正確,文字通順。
70~79:按時完成設計題目的全部內容,程序結構設計基本合理,在解決實際問題上有一定的工作能力。說明書內容基本正確,文字通順。
60~69:基本完成設計題目的全部內容,程序結構設計基本合理,功能不太完善,依靠指導人的幫助。獨立工作能力較差,設計中有明顯的缺點或錯誤,說明書基本齊全,但質量較差。
60以下:有下列情況之一者成績為不及格:
(1)獨立工作能力很差;沒有完成設計的基本要求的內容;程序結構不合理。
(2)在設計中有嚴重的違反紀律或抄襲他人設計和成果。
(3)無故不提交設計。
(4)設計期間有三分之一以上時間缺席者。
重慶工商大學派斯學院計算機系
2010年5月
第二篇:教學目標了解面向對象程序設計方法的基本原理及主要特點——抽解析
呼倫貝爾學院—— 計算機科學與技術學院
教學目標:了解面向對象程序設計方法的基本原理及主要特點——抽象性、封裝性、繼承性、多態性。掌握類和對象的概念以及如何用類來解決具體問題并在類的基礎上如何派生出新類,以及重載的概念和作用。
教學類型:在多媒體教室直觀講授,引導學生進行類的操作。教學內容:
復習上次課
5.5類的繼承
Visual Basic.NET支持類的繼承,允許用戶定義一個類,作為其他類繼承的依據,繼承類能夠繼承,擴充基本類的屬性和方法,繼承類也可以重載基本類的一些方法。
例如,把窗體看成一個類,在Vissal Basic.NET中用戶可以根據現有的窗體繼承出一個新的窗體。其中已有類叫做基類(父類),繼承的新類叫做派生類(子類)。
1、實現基本的繼承
下面通過例子進一步說明為什么要使用繼承。
要描述人和雇員,對于每一個人來說都有姓名、年齡、性別等信息,對于公司雇員有以上內容以外還有雇員的工作部門及薪水等信息。當分開來實現這兩個類的時候,就會發現其實它們有許多相同之處。如果分開編寫這兩個類的代碼,不僅編寫效率低,而且程序代碼也難以維護,所以最好的方法就是讓它們使用一些相同的代碼,此時繼承就可以發揮作用了。使用繼承,可以創建一個Person類(基類),它包含了name(姓名)、age(年齡)、sex(性別)等屬性所有的共享代碼。然后再創建employee派生類,這個類是由person類繼承而來的,這樣它們就可以自動地獲得所有的公用代碼了。
【例5.3】建立person類及它的派生類employee類。Public Class person
Public sname, Iage, ssex
Public Property name()As String
Get
Return sname
End Get
Set(ByVal value As String)
sname = value
End Set
End Property
Public Property age()As Integer
Get
Return Iage
End Get
Set(ByVal value As Integer)
Iage = value
End Set
呼倫貝爾學院—— 計算機科學與技術學院
End Property
Public Property sex()As String
Get
Return ssex
End Get
Set(ByVal value As String)
ssex = value
End Set
End Property End Class Public Class employee
Inherits person
Dim Ssalary As Single
Public Property salary()As Single
Get
Return Ssalary
End Get
Set(ByVal value As Single)
Ssalary = value
End Set
End Property
Sub Displayemployee()
Debug.WriteLine(“雇員的姓名:” & name)
Debug.WriteLine(“雇員的性別:” & sex)
Debug.WriteLine(“雇員的年齡:” & age)
Debug.WriteLine(“雇員的薪水:” & salary)
End Sub End Class Module Module1
Sub Main()
Dim aemployee As New employee()
aemployee.name = “王強”
aemployee.sex = “男”
aemployee.age = 25
aemployee.salary = 3600.0
aemployee.Displayemployee()
End Sub End Module
2、禁止繼承
在默認狀態下,創建的任何類都是可以用作基類,可由這個基類創建其他的類。但有時需要創建一個不被繼承的類,這時可以在類的聲明中使用NotInheritable關鍵字。
Public NotInheritable Class Class_name …… End Class
呼倫貝爾學院—— 計算機科學與技術學院
使用這個關鍵字后,其他代碼都不能使用Inherits關鍵字來創建一個由這個基類繼承二來的子類。
3、基類成員在派生類中的作用域
通過繼承性創建子類時,新類將從父類獲得所有Public 和 Friend方法、屬性及變量。但在父類中聲明的Private的任何內容都不能直接應用于新子類的代碼中。
例如:可以在上例的person類中重寫age方法,代碼如下: Private Property age()As Integer
Get
Return Iage
End Get
Set(ByVal value As Integer)
Iage = value
End Set
End Property Age方法聲明為private,所以employee類和其他代碼都不能使用它。當然也有一個列外,就是New方法,構造函數方法必須在每一個子類中重新定義。
有時public和private并不夠用,需要創建一個可以用于子類而不能用于客戶代碼的方法,此時就可以使用protected作用域。當某些內容聲明為protected時,該元素就不能應用于類以外的代碼,但可以應用于通過繼承派生出的子類。
例如:若將person類當中的name、age、sex屬性都聲明為 Protected Property name()As String Protected Property age()As Integer Protected Property sex()As string 那么測試程序中的下列代碼將不再有效: aemployee.name = “王強” aemployee.sex = “男” aemployee.age = 25 但示例中的name、age、sex屬性可以應用于employee中的所有代碼,因為它繼承了父類。為設置屬性,可以在employee中增加一個方法setperson():
Public Class employee
Inherits person
Dim Ssalary As Single Public Property salary()As Single
Get
Return Ssalary
End Get
Set(ByVal value As Single)
Ssalary = value
End Set End Property Sub setperson(ByVal n As String, ByVal a As Integer, ByVal s As String, ByVal c As Single)
name = n
age = a
sex = s
呼倫貝爾學院—— 計算機科學與技術學院
salary = c End Sub
Sub Displayemployee()
Debug.WriteLine(“雇員的姓名:” & name)
Debug.WriteLine(“雇員的性別:” & sex)
Debug.WriteLine(“雇員的年齡:” & age)
Debug.WriteLine(“雇員的薪水:” & salary)
End Sub End Class Module Module1
Sub Main()
Dim aemployee As New employee()
aemployee.setperson(“王強”, 25, “男”, 3600.0)
aemployee.Displayemployee()
End Sub End Module 5.6重載方法
VB.NET具有重載方法的功能,可以利用重載來實現多態性。重載是可以在一個類中可多次聲明相同名稱的一種方法,只要每個聲明都有不同的參數列表即可。其中參數列表不同指的是參數的數據類型不同或參數的個數不同。例如:Public Sub show(ByVal x As Integer, ByVal y As Integer)。
上面show方法的參數列表的參數的類型為(Integer, Integer)。為了重載這個方法,必須使用不同的參數列表,例如(Double,Integer)或(Integer,Double)都可以。重載不能只是通過改變函數的返回值來實現,而是要求實際參數的數據類型不同。
Public Class sum
Public Function add(ByVal a As Integer, ByVal b As Integer)As Integer
Return a + b
End Function
Public Function add(ByVal a As Double, ByVal b As Double)As Double
Return a + b
End Function End Class Module Module1
Sub main()
Dim NO1, NO2 As New sum
Debug.WriteLine(NO1.add(5, 6))
Debug.WriteLine(NO2.add(2.5, 3.6))
End Sub End Module
學生練習:聲明一個Shape(形狀)基類,在此基礎上派生出Rectangle和Circle類,(1)根據給出的矩形的左上角和右下角的坐標計算該矩形的面積;(2)根據給出的圓心坐標計算出圓的面積。
呼倫貝爾學院—— 計算機科學與技術學院