如何抽象出乙個類

2021-07-29 05:48:36 字數 1860 閱讀 8792

物件導向程式的單位就是物件,但物件又是通過類的例項化出來的,所以我們首先要做的就是如何來宣告類, 做出來乙個類很容易,只要掌握基本的程式語法定義規則就可以做的出來,那麼難點在那裡呢? 乙個專案要用到多少個類,用多少個物件, 在那要定義類,定義乙個什麼樣的類,這個類例項化出多少個物件, 類裡面有多少個屬性, 有多少個方法等等,這就需要讀者通過在實際的開發中就實際問題分析設計和總結了。 類的定義: 1

2class 類名

使用乙個關鍵字class和後面加上乙個你想要的類名以及加上一對大括號, 這樣乙個類的結構就定義出來了,只要在裡面寫**就可以了, 但是裡面寫什麼? 能寫什麼?怎樣寫才是乙個完整的類呢?上面講過來,使用類是為了讓它例項出物件來給我們用, 這就要知道你想要的是什麼樣的物件了,像上面我們講的乙個裝機配置單上寫什麼,你裝出來的機子就有什麼。比如說,乙個人就是乙個物件,你怎麼把乙個你看好 的人推薦給你們領導呢?當然是越詳細越好了:

首先, 你會介紹這個人姓名、性別、年齡、身高、體重、**、家庭住址等等。

然後,你要介紹這個人能做什麼, 可以開車, 會說英語, 可以使用電腦等等。

只要你介紹多一點, 別人對這個人就多一點了解, 這就是我們對乙個人的描述, 現在我們總結一下,所有的物件我們用類去描述都是類似的, 從上面人的描述可以看到, 做出乙個類來, 從定義的角度分兩部分, 第一是從靜態上描述, 第二是從動態上描述, 靜態上的描述就是我們所說的屬性, 像上面我們看到的,人的姓名、性別、年齡、身高、體重、**、家庭住址等等。 動態上也就是人的這個物件的功能,比如這個人可以開車, 會說英語, 可以使用電腦等等,抽象成程式時,我們把動態的寫成函式或者說是方法,函式和方法是一樣的。所以,所有類都是從屬性和方法這兩方面去寫, 屬性又叫做這個類的成員屬性,方法叫做這個類的成員方法。 1

234class 人

屬性:

通過在類定義中使用關鍵字" var "來宣告變數,即建立了類的屬性,雖然在宣告成員屬性的時候可以給定初值, 但是在宣告類的時候給成員屬性初始值是沒有必要的,比如說要是把人的姓名賦上「張三」,那麼用這個類例項出幾十個人,這幾十個人都叫張三了,所以沒有必 要, 我們在例項出物件後給成員屬性初始值就可以了。

如: var $somevar;

方法(成員函式):

通過在類定義中宣告函式,即建立了類的方法。 如:

123function somefun(引數列表) 1

2345

6789

1011

1213

1415

1617

<?php

class person

function run()

}?>

上面就是乙個類的宣告, 從屬性和方法上宣告出來的乙個類, 但是成員屬性最好在宣告的時候不要給初使的值, 因為我們做的人這個類是乙個描述資訊, 將來用它例項化物件, 比如例項化出來10個人物件, 那麼這10個人, 每乙個人的名子, 性別, 年齡都是不一樣的, 所以最好不要在這個地方給成員屬性賦初值, 而是對每個物件分別賦值的。

用同樣的辦法可以做出你想要的類了, 只要你能用屬性和方法能描述出來的實體都可以定義成類, 去例項化物件。

為了加強你對類的理解, 我們再做乙個類, 做乙個形狀的類, 形狀的範圍廣了點, 我們就做個矩形吧, 先分析一下, 想一想從兩方面分析,矩形的屬性都有什麼? 矩形的功能都有什麼? 1

2345

6789

class 矩形

php**: 1

2345

6789

1011

1213

14<?php

class rect

function mianji()

}?>

如果用這個類來建立出多個矩形物件,每個矩形物件都有自己的長和寬, 都可以求出自己的周長和面積了。

抽象乙個形狀類

阮寶同學期待著暑假來臨,知道c 不好好複習麻煩不小。沒有多型性,那就不叫物件導向,老師不划重點也能猜到。嘿嘿,自己做個經典題,怎麼變題也不怕。老濕,再難的題還有木有?輸入四個數,前兩個是矩形的長和寬,後兩個是三角形的底邊長和高。分兩行輸出兩個數,第乙個是矩形的面積,第二個是三角形的面積。3.5 6....

設定乙個抽象類!

我的android專案所有的介面都是 橫屏的,我是用以下 進行控制橫屏顯示的 requestwindowfeature window.feature no title getwindow setflags windowmanager.layoutparams.flag fullscreen,wind...

django中如何定義乙個抽象模型基類

1.在專案目錄項建立乙個python包,取名db 名稱可自己取 2.db包中建立乙個base model.py檔案,名稱可自己取 3.base model.py中定義如下 from django.db import models class basemodel models.model 模型抽象基類...