"類"的講稿

-----------------------面向對象基礎------------------------------------
方法(函數)html

java

(c#p10爲主,p27;javap96)+資料,講以下問題:
一、類概念[類、對象]程序員

二、面向對象基本特徵(封裝、繼承、多態)編程

}c#

三、類的主要構成(屬性和方法)ide

四、程序中如何實現類:函數

類格式(類頭、成員變量、成員方法,實例化)this

例:Person類(姓名,年齡,show_Me)(+set_Me)(+不一樣文件)
Person類內存分配
例5-1 學生類(僅java)
(c#提一下public)
戰鬥程序spa

//java(源代碼設計

//c#源代碼

變量做用域(c#略,見p76)

P103直接講例5-2(僅java)
重載
例:兩、三個數最大值
p128,例5-14(僅java,多個數的和)
構造方法
介紹構造方法的意義,構造Person
P108例5-6,知識點:構造重載(長方體,設各邊長,算體積)
擲色子程序(僅C#)
靜態
{ //僅java
靜態方法:P112例5-7

靜態屬性:提一下
看p111-112頁,1,2

注:java裏靜態內容實際上能夠被對象訪問,但這不是通用寫法,其餘語言並不容許。應儘可能使用類來訪問靜態內容。


//C#
靜態屬性+靜態方法
隨手舉例

---------------面向對象進階----------------------------

繼承例:球繼承圓的半徑、面積。代碼

修飾符(JAVA看看視頻,17分28秒,C#P12頁第三點)
this和super
P119例5-9(this),例5-10(主要講super),例5-11(this和super綜合)

子類對象是能夠賦值給父類變量的(例:球對象賦值給圓變量)
{//僅java
子類與父類具備同名方法時:默認爲方法重寫

例:Person1繼承Person類,內存初始化
簡單子類重寫父類方法:P129,例5-15
final修飾方法可阻止重寫
子類重寫父類方法:P126例5-13

{//僅C#

具備同名方法時內存中的狀態:默認爲屏蔽

例:Person1繼承Person類,內存初始化
以圓球爲例說明方法的屏蔽與重寫

一、父類受權【能夠(virtual),不能夠(無,即屏蔽)】
二、子類是否重寫【重寫(override),不重寫(new)】

---------------團隊編程內容--------------------------
抽象類與抽象方法(必須一塊兒用,規定了必須重寫方法)

通常用於開發小組內部討論概念的時候,一般做爲後續開發的標準和依據。
P124例5-12

例5-12擴展講解:

建抽象類的時候,注意以下圖設置(免得手輸)

抽象類「形狀」代碼:

public abstract class Shape
{
	abstract void getArea();
}

  實現類「圓」代碼:

public class Circle extends Shape
{
	double r;
	Circle(double x)
	{
		r=x;
	}
	void getArea()
	{
		System.out.println("圓形面積是:"+3.14*r*r);
	}
}

  實現類「矩形」代碼:

public class Rectangle extends Shape
{
	double c,k;
	Rectangle(double x,double y)
	{
		c=x;
		k=y;
	}
	void getArea()
	{
		System.out.println("矩形面積是:"+c*k);
	}
}

  main代碼:

public static void main(String[] args)
	{
		// TODO Auto-generated method stub
		Circle cc=new Circle(5.6);
		Rectangle rt=new Rectangle(8, 6);
		Shape s;
		cc.getArea();
		rt.getArea();
		s=cc;
		s.getArea();
		s=rt;
		s.getArea();
	}

  對比這個例子和書上的例5-12,看看有什麼不一樣。

  差別最大的是main函數。聲明的抽象類變量能夠指向任何一個它派生的具體類。道理和繼承相同。因而可知抽象類的做用(可用於檢驗的類設計模版)


接口(通常用於項目整體設計時,跨開發小組統一開發標準):

  1. 通常僅用於描述要實現的動做(C#中無屬性),以小項目鬆散耦合爲目的,可多繼承。
  2. 應儘可能避免使用中的接口污染,即接口功能應儘可能單一(好比規劃「通話」接口時想着手機,規定必須有接打電話和收發短信的功能,這就讓寫「對講機」的程序員很難受)。
  3. 用法與抽象類相似(都是至關於模版的東西),注意體會概念和使用場合的區別。

例:龜車賽跑

相關文章
相關標籤/搜索