物件導向的認識 如何找出類

2022-03-14 08:48:23 字數 3961 閱讀 8264

客串:屌絲的坑人表單神器、資料庫那點事兒、**負載均衡

同類文章:物件導向的認識----新生的初識、物件導向的番外----思想的夢遊篇(1)

吐槽:一上班收到的來信說到,「我們會綜合多方面的因素進行考慮,對於首頁的管理我們正在努力改進。」,深感欣慰, 這就是不同的答覆,有不同的效果,我也希望能說到做到。

最近那些童鞋們作業不做,要求倒是蠻多的,其中一位提到培訓下mysql語句方面的知識,即sql語句的使用。我直接回了句:先完成上次培訓的作業先。

最近也是為了要培訓的效果有所成效,當時那位管理級別的就說要搞懲罰措施,對那些不完成作業的進行懲罰,懲罰無外乎就是那些吃吃喝喝的,我當時就說了,學習是自覺的事情,懲罰措施不用搞,當時他就直接反駁說到,你搞了兩年,你看哪個自覺了,你就一坑貨。我只好無語了,坑壞了下一代的花花朵朵咋辦……

也許是心地太好,我就提倡到不交作業的就給1元錢吧,每天早上拿個小碗遇到那些童鞋就說:童鞋來施捨點,好幾天沒飯吃了,行行好!

------------- 華麗的分割線  正式進入正文 --------------

上回說到類、物件啥的,還沒看的童鞋趕緊了:物件導向的認識----新生的初識

我問到:童鞋們,類的基礎知識你們都理解了,那麼怎麼找出類呢,大家有方法嗎?

童鞋們:…….(我們要是知道,還要你培訓幹毛)

我眼睛晃過了一圈,一片沉默,這個是什麼造成了現在的現狀?

哎呀,我只好自然自語的說到:

類嘛,其實都挺好找的,就專找名詞,我們從哪兒找名詞,就從需求文件裡。

名詞這個概念就不用我解析了吧!(連我這種專打錯別字的都曉得)

當時有位童鞋直接站起來說到:沒有需求文件咋辦?

這種叫做沒事找事做的,典型的找抽型。

沒有需求文件就從口頭描述那兒得來,笨的人跟他說半天,他也不懂。

(現在現實很多公司沒有需求文件,不過這不是理由)

我再次說到:說歸說,還是實戰來得靠譜,你們聽清楚需求,然後從裡面找出名詞。

我來到超市,在門口有籃子和購物車,我比較勤快,我拿起了籃子,開始逛超市,我一般先會看看商品的**,然後覺得把便宜的商品放進了籃子,我提著籃子來到收銀台,收銀漂亮妹子把籃子裡面的商品通過讀碼器,全部刷一次,然後告訴我總價,我給了現金,收銀漂亮妹子不知道幹了啥,找零的抽屜開啟了,然後他把零錢以及購物憑證給了我,順手把抽屜推了進去,最後把商品裝進了購物袋,然後說了多謝惠顧,歡迎下次關臨。我高高興興的把商品提回了家。

然後那些童鞋們找出了這些名詞,千奇百怪:

我(購物者)、超市、籃子、購物車、商品、商品的**、便宜的商品、購買的商品、收銀台、收銀漂亮妹子(收銀員)、讀碼器、現金、抽屜、零錢、購物憑證、購物袋

我就說了:好了,名詞找出來了,假設你要做個收銀系統,你要怎麼辦,這麼多的名詞都要用嗎?

童鞋們:……. (我們要是知道,還要你培訓幹毛)

我繼續說到:我們就想想這些名詞跟這系統有沒有關係

購物者跟系統有關係嗎?

當時他們的想法有兩種,一種是有,一種是沒有。

我當時就說了,好像輸入商品的不是購物者,而是收銀員。

收銀員成了乙個類。我乘勝追擊,繼續問到:收銀員都做了什麼事情?

1. 用讀碼器掃商品

2. 收取現金

3. 開啟抽屜

4. 關閉抽屜

very good!

後面也是一樣,通過激烈的討論, 最終定下了如下類:

收銀員

- 用讀碼器掃商品

- 收取現金

- 開啟抽屜

- 關閉抽屜

商品

- **

- 條形碼

- 名稱

購物憑證

-所購買的商品- 商品

- 數量

- 折扣

- 總價

- 總價

- 折扣

- 折後價

- 付款的金額

- 找零的金額

- 購物憑證的編號

超市

- 商品列表

讀碼器

- 讀取商品

很好,我們把類都定義好了,我給他們的作業是把這些轉成**。

過了幾天我收到了乙份程式,當時我懵了,這是什麼節奏?

錯得太離譜了,我直接噴血了。。。。

然後沒辦法我又浪費一天的時間一步一步的去教。

首先定義個收銀員類,他有哪些操作:

1. 新建購物憑證

2. 在新建的購物憑證上,用讀碼器掃商品

3. 收取現金,用於支付該次購物

**如下:

<?php

class

cashier

/*** 用讀碼器掃商品

* @param $goodsid

* @param $num

*/public

function scan($barcode, $num

)

/*** 收取現金

* @param $money

* @throws exception

*/public

function pay($money

)

else

throw

newexception("金額不夠丫,請老闆賞臉打發一下");

}}

收銀員的**寫好了,我繼續讓他們去寫購物憑證。

我們通過收銀員類裡面知道訂單有以下方法:

1. add($goods,$num); //新增所購買的商品

2. gettotalmoney(); //獲取總價

3. setpaymoney($money); //設定支付價錢

4. getbalancemoney(); //獲取找零

5. setfinished(); //訂單結算

童鞋們在寫order類的時候,遇到了一下情況:

1. 類裡面的屬性不會用。

2. 不知道如何把所購買的商品轉化成陣列或者物件 (明顯的基礎沒打好)

3. 陣列的使用不熟練

這些我真心忍了,看樣子得專門搞個課程,名字我都想好了,叫做:物件導向的認識----類的轉化

這些娃有坑爹的,來看看童鞋們的**:

class

order

public

function

gettotalmoney()

return

$monry

; }

}class

goods

在來瞧瞧另外乙個版本的:

class

order

/*** 獲取訂單總價

* @return int

*/public

function

gettotalmoney()

return

$totalmoney

; }

public

function setpaymoney($paymoney

)

public

function

getbalancemoney()

public

function

setfinished()

}class

ordergoods

public

function

gettotalmoney()

}class

goods

class

shop

}

好了,今天的課程到此結束,反正心冷了....

今天的目的也是讓大家怎麼從需求文件裡面找出所謂的類。任何事情都是一步一步來的,熟能生巧嘛。。。

物件導向的認識 類的轉化

恢復內容開始 概述 為了更好的掌握物件導向的程式設計思維,推薦幾種常用的小技巧,來快速提公升物件導向的程式設計。1.告別常量 2.告別變數 3.告別靜態變數 4.告別函式 5.告別全域性變數 6.告別map陣列 其它文章 同類文章介紹篇 物件導向的認識 新生的初識 物件導向的番外 思想的夢遊篇 1 ...

物件導向以及類初步認識

物件 資料 資料型別 函式 比如 洗衣機 外觀 型別 滾筒,波輪 品牌 小天鵝,海爾 型號長,寬,高 功能 洗衣服 我們上一章中所提到struct 結構體 可以實現成員 如 struct 洗衣機 洗衣服的實現它還要通過乙個函式來實現 如void 洗衣服 洗衣機,衣服 這樣兩個是分開的,洗衣服和洗衣機...

物件導向的認識

技巧介紹 1.常量轉變成常型別 常量例項 define level error error define level warning warning define level info info define level trace trace 常型別例項 class level 2.變數轉成屬性 ...