在當代電腦程式設計實踐中,通常的做法是將物件導向程式設計系統(OOPS)作為程式語言的基礎。這種範式將方法與數據結合在一起,為開發人員帶來了有益的結果。採用OOPS可以使程式設計師創建一個準確的類別和物件模型,透過有效地複製現實生活場景來實現無縫工作。
在這篇文章中,了解有關OOPS範例中的消息、聚合和抽象類別。
在電腦領域中,訊息傳遞指的是進程之間的通訊。資料傳輸是平行程式設計和物件導向程式設計實踐中一種高效率的通訊方式。在使用Java時,跨不同執行緒發送訊息與共享物件或訊息的過程密切相關。與共享監視器、信號量或類似變數不同,這種方法在沒有協作儲存機制的情況下可能存在線程互動的可能障礙;這種方法非常有用。訊息傳遞方法可以透過建構函數、方法或發送各種值的方式在物件導向程式設計中執行。
訊息轉發技術的主要優點如下:
與共享記憶體模式相比,這種模式的實作要簡單得多。
因為這種方法對更高的連線延遲具有很高的容忍度。
將其實作為並行硬體的過程要簡單得多。
public class MessagePassing { // body }
// Java program to demonstrate message passing by value import java.io.*; public class MessagePassing { void displayInt(int x, int y) { int z = x + y; System.out.println("Int Value is : " + z); } void displayFloat(float x, float y) { float z = x * y; System.out.println("Float Value is : " + z); } } class Variable { public static void main(String[] args) { MessagePassing mp= new MessagePassing(); mp.displayInt(1, 100); mp.displayFloat((float)3, (float)6.9); } }
Int value is : 101 Float value is : 20.7
在獨特的意義上,這是一種關聯類型。聚合是一種單向的有向關係,準確地表達了類別之間的HAS-A關係。此外,當兩個類別被聚合時,終止其中一個對另一個沒有影響。與組合相比,它經常被指定為一種弱關係。相較之下,父類別擁有子實體,這意味著子實體不能直接訪問,也不能沒有父物件而存在。相反,在關聯中,父實體和子實體都可以獨立存在。
class Employee { int id; String name; Address address; // Aggregation // body }
// Java program to demonstrate an aggregation public class Address { int strNum; String city; String state; String country; Address(int street, String c, String st, String count) { this.strNum = street; this.city = c; this.state = st; this.country = coun; } } class Student { int rno; String stName; Address stAddr; Student(int roll, String name, Address address) { this.rno = roll; this.stName = name; this.stAddr = address; } } class Variable { public static void main(String args[]) { Address ad= new Address(10, "Bareilly", "UP", "India"); Student st= new Student(1, "Aashi", ad); System.out.println("Roll no: "+ st.rno); System.out.println("Name: "+ st.stName); System.out.println("Street: "+ st.stAddr.strNum); System.out.println("City: "+ st.stAddr.city); System.out.println("State: "+ st.stAddr.state); System.out.println("Country: "+ st.stAddr.country); } }
Roll no: 1 Name: Aashi Street: 10 City: Bareilly State: UP Country: India
抽象化是物件導向程式設計範式中使用的一種方法,它透過僅向使用者顯示相關資訊而不是螢幕上的無關資訊來減少程式複雜性和理解工作量。儘管實作方式有所不同,但隱藏無用資料的想法在每個物件導向程式系統實現的語言中都是相同的。在Java中實作抽象的一種技術是使用抽象類別。 Java允許在類別中宣告抽象方法和常規方法,但抽象方法不能在常規類別中表達。抽象類別要么有定義,要么由擴展類別實現。
abstract class A{}
// Java program to demonstrate the abstract class abstract class Car { public void details() { System.out.println("Manufacturing Year: 123"); } abstract public void name(); } public class Maserati extends Car { public void name() { System.out.print("Maserati!"); } public static void main(String args[]){ Maserati car = new Maserati(); car.name(); } }
Maserati!
OOPS是許多程式語言的基本概念。它是一種基於包含方法和資料的物件的範例。訊息傳遞是物件導向程式語言和平行程式設計中使用的一種通訊形式。聚合是一種獨特意義上的關聯形式,且是嚴格的方向關聯。抽像是一種在物件導向程式語言中使用的技術,它只向使用者顯示相關細節。
以上是Java中的訊息、聚合和抽象類的詳細內容。更多資訊請關注PHP中文網其他相關文章!