」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 實現介面

實現介面

發佈於2024-11-08
瀏覽:284
  • 定義介面後,一個或多個類別可以實現它。

  • 要實作接口,請在類別定義中使用 Implements 子句。

  • 該類別必須實作介面所需的所有方法。

  • 包含 Implements 子句的類別的一般形式是:

類別類別名稱擴展超類別實作介面{
// 類體
}

  • 若要實作多個接口,接口之間用逗號分隔。

  • 實作介面時,extends子句是可選的。

  • 實作介面的方法必須宣告為 public。

  • 實作方法的簽章必須與介面中指定的簽章完全相符。

  • 實作Series介面的範例:

  • 在此範例中,ByTwos 類別實作 Series 接口,產生一系列數字,每次調用 getNext() 方法時該數字都會增加 2。

Implementando interfaces

  • ByTwos 類別中的 getNext()、reset() 和 setStart() 方法是使用公共存取說明符宣告的。

  • 這是必要的,因為當實作介面定義的方法時,必須將其宣告為 public。

  • 介面的所有成員都是隱含公共的,因此類別中的實作必須遵循此存取修飾符。

  • 這是一個示範 ByTwos 的類別:

Implementando interfaces

  • 實作介面的類別定義附加成員是允許的,也是常見的。

Implementando interfaces

  • 包含 getPrevious() 方法不需要對 Series 介面進行任何更改。

  • 在不影響介面的情況下修改實現的靈活性是在物件導向程式設計中使用介面的主要優點之一。

Implementando interfaces

  • ByThrees 類別也實作了 Series 介面。

抽象類別:

  • 如果一個類別包含介面但沒有實現它定義的所有方法,則必須將其宣告為抽象。

  • 抽象類別不能直接實例化(即不能從它們建立物件)。

  • 它們可以用作抽象超類,允許子類別提供介面方法的完整實作。

版本聲明 本文轉載於:https://dev.to/devsjavagirls/implementando-interfaces-49m5?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • MySQL 如何處理較短列中的長整數:溢位或截斷?
    MySQL 如何處理較短列中的長整數:溢位或截斷?
    較短列的長整數轉換:機制與公式將長整數插入較短整數列時,MySQL 通常會截斷該值以適合指定的長度。但是,在某些情況下,行為可能會有所不同,從而導致意外的轉換。 考慮一個 10 位長整數列 some_number。如果將超過最大整數範圍 (2147483647) 的值插入到此列中,MySQL 會將該...
    程式設計 發佈於2024-11-08
  • 如何在教義 2 中建立額外欄位的多對多連結表?
    如何在教義 2 中建立額外欄位的多對多連結表?
    Doctrine 2 和額外欄位的多對多連結表本文解決了在Dotrine 2 中建立多對多關係的問題,其中連結表包含一個附加價值,特別是在庫存系統的上下文中。 原則 2 中的多對多關係可以使用不包含任何附加欄位的連結表來建立。但是,當每個連結都需要額外的值時,必須將連結表重新定義為新實體。 提供的程...
    程式設計 發佈於2024-11-08
  • JavaScript 中的單管道運算子如何處理浮點數和整數?
    JavaScript 中的單管道運算子如何處理浮點數和整數?
    探索JavaScript 中單管道運算子的位元性質在JavaScript 中,單一管道運算子(「|」)執行按位運算稱為位元或的運算。理解此操作對於理解其對不同輸入值的影響至關重要,如下例所示:console.log(0.5 | 0); // 0 console.log(-1 | 0); // -1...
    程式設計 發佈於2024-11-08
  • 列表理解和Regae
    列表理解和Regae
    啊。我一直害怕的那一刻。 第一篇文章,包含我自己的想法、觀點和可能的知識細分。 請注意,親愛的讀者,這並不是對 Python 單行 for 循環、追加到列表和返回一些數據的能力的深入探討或令人難以置信的分解。不,不。這只是展示瞭如何有趣——以及如何愚蠢——小東西可以組合在一起,讓...
    程式設計 發佈於2024-11-08
  • 如何解決 WAMP 上由於缺少 Openssl 擴充功能而導致的 Composer 錯誤?
    如何解決 WAMP 上由於缺少 Openssl 擴充功能而導致的 Composer 錯誤?
    Composer 有問題? WAMP 上缺少Openssl 擴充功能嘗試將Composer 合併到WAMP 設定中時,您可能會遇到警告:「The openssl 擴充功能遺失。」此訊息表明,如果沒有此擴充程序,您的系統的安全性和穩定性將會受到影響。 故障排除步驟:您已經認真瀏覽了 WAMP 介面,標...
    程式設計 發佈於2024-11-08
  • 如何解決 Windows 上 PHP 中的 SSL 套接字傳輸問題?
    如何解決 Windows 上 PHP 中的 SSL 套接字傳輸問題?
    解決PHP 中的SSL Socket 傳輸問題在Windows 系統上使用PHP 時,開發人員可能會遇到錯誤「無法連線到ssl: //...”由於啟用“ssl”套接字傳輸存在困難。本文將指導您排除故障並解決此問題,並介紹您迄今為止已採取的具體步驟。 故障排除步驟檢查PHP 設定:確保php_open...
    程式設計 發佈於2024-11-08
  • 為什麼類比滑鼠懸停在 Chrome 中不會觸發 CSS 懸停?
    為什麼類比滑鼠懸停在 Chrome 中不會觸發 CSS 懸停?
    在JavaScript 中模擬滑鼠懸停:澄清差異並實現手動控制嘗試在Chrome 中模擬滑鼠懸停事件時,您可能遇到了一個有趣的問題問題。儘管“mouseover”事件監聽器已成功激活,但相應的CSS“hover”聲明並未生效。此外,嘗試在滑鼠懸停偵聽器中使用 classList.add("...
    程式設計 發佈於2024-11-08
  • 你能衡量 MySQL 索引的有效性嗎?
    你能衡量 MySQL 索引的有效性嗎?
    了解 MySQL 索引效能優化 MySQL 查詢對於高效的資料庫處理至關重要。索引是提高搜尋效能的關鍵技術,但監控其有效性也同樣重要。本文解決了是否可以評估 MySQL 索引效能的問題並提供了解決方案。 識別查詢效能決定查詢是否使用索引,執行下列查詢:EXPLAIN EXTENDED SELECT ...
    程式設計 發佈於2024-11-08
  • 如何自訂 PDF.js
    如何自訂 PDF.js
    PDF.js 是一個很棒的開源項目,它經常更新並且不斷添加新功能,但是從外觀上看它很醜陋,或者可以說它看起來已經過時了。從 PDF.js 取得最新的 PDF 功能和修復,但在演示方面擁有流暢的外觀怎麼樣? PdfJsKit 的pdf 檢視器並不引人注目,它不會直接更改PDF.js 的程式碼,它只是...
    程式設計 發佈於2024-11-08
  • 即將推出大事
    即將推出大事
    我決定從頭開始建立全端 Web 開發人員課程,從 HID 一直到伺服器和可擴展性。所有需要知道的,都將免費涵蓋免費! 以下是涵蓋的內容: 網際網路 互聯網是如何運作的? 什麼是HTTP? 瀏覽器及其運作方式? DNS 及其運作方式? 什麼是網域名稱? 什麼是託管? ...
    程式設計 發佈於2024-11-08
  • HTML 頁面的剖析
    HTML 頁面的剖析
    程式設計 發佈於2024-11-08
  • 設計有效資料庫的終極指南(說真的,我們是認真的)
    設計有效資料庫的終極指南(說真的,我們是認真的)
    Alright, you’ve got a shiny new project. Maybe it's a cutting-edge mobile app or a massive e-commerce platform. Whatever it is, behind all that glitz ...
    程式設計 發佈於2024-11-08
  • 使用 html css 和 javascript 的圖像輪播旋轉幻覺
    使用 html css 和 javascript 的圖像輪播旋轉幻覺
    程式碼 旋轉影像輪播 身體 { 顯示:柔性; 調整內容:居中; 對齊項目:居中; 高度:100vh; 保證金:0; 背景顏色:#0d0d0d; 溢出:隱藏; ...
    程式設計 發佈於2024-11-08
  • 如何開始 Web 開發
    如何開始 Web 開發
    介绍 Web 开发是当今最受欢迎的职业之一,对于那些对 前端(用户看到的内容)和 后端(服务器逻辑)感兴趣的人来说)。如果您刚刚起步,想知道从哪里开始或者作为开发者可以赚多少钱,本指南将为您提供清晰的入门路径和资源。 什么是网页开发? 网络开发分为两大区域: 前端:...
    程式設計 發佈於2024-11-08
  • 如何在不使用 Composer 本身的情況下安裝 Composer PHP 套件?
    如何在不使用 Composer 本身的情況下安裝 Composer PHP 套件?
    如何在沒有Composer 的情況下安裝Composer PHP 軟體包在本文中,我們將解決在沒有Composer 工具的情況下安裝Composer PHP 軟體包的挑戰本身。當您遇到 Composer 對於您的工作流程不可用或不切實際的情況時,此方法非常有用。 識別依賴關係第一步是識別包所需的依賴...
    程式設計 發佈於2024-11-08

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3