Sobes.tech
Junior — Middle

Milyen közös jellemzők kötik össze az osztályokat és az interfészeket az objektum-orientált programozásban?

sobes.tech MI

Válasz az MI-től

Az objektumorientált programozásban az osztályok és az interfészek több közös jellemzőt osztanak meg:

  • Absztrakció: Mindkettő lehetővé teszi absztrakt adattípusok leírását, elrejtve a megvalósítás részleteit.
  • Viselkedés meghatározása: Mind az osztályok, mind az interfészek meghatároznak egy módszerek halmazát, amelyeket meg kell valósítani.
  • Polimorfizmus: Osztályokon és interfészeken keresztül megvalósítható a polimorf viselkedés, lehetővé téve különböző típusú objektumok egységes használatát.
  • Típusosítás: Mindkettő a típusok meghatározására szolgál, amelyeket változók és függvényparaméterek deklarálására lehet használni.

Go nyelvben az interfészek egy módszerek halmazát határozzák meg, és nincs osztály, de metódusokkal rendelkező struktúrák osztályként működnek. Az interfészek leírják a viselkedést, a struktúrák pedig az adatokat és a megvalósítást.

Példa Go nyelven:

// Interfész
 type Reader interface {
     Read(p []byte) (n int, err error)
 }

// Struktúra, amely megvalósítja az interfészt
 type File struct {}

 func (f File) Read(p []byte) (n int, err error) {
     // megvalósítás
     return 0, nil
 }

 func main() {
     var r Reader = File{}
     r.Read(nil)
 }