Sobes.tech
Junior — Middle

Tudnád megnevezni az objektumorientált programozás fő mintáit?

sobes.tech MI

Válasz az MI-től

Az objektumorientált programozás (OOP) fő mintái a következők:

  • Öröklődés (Inheritance): lehetővé teszi új osztályok létrehozását meglévő osztályok alapján, örökölve azok tulajdonságait és metódusait.
  • Encapsuláció (Encapsulation): elrejti az objektum belső részleteit, és csak nyilvános metódusokon keresztül teszi elérhetővé azokat.
  • Polimorfizmus (Polymorphism): különböző osztályokhoz tartozó objektumok ugyanarra az üzenetre (metódusra) különböző módon reagálnak.
  • Absztrakció (Abstraction): kiemeli az objektum lényeges jellemzőit, elrejtve a nem lényeges részleteket.

Ezek a minták segítenek rugalmas, bővíthető és karbantartható programok készítésében.

Példa Go nyelven (interfészek használata a polimorfizmushoz):

package main
import "fmt"

type Animal interface {
    Speak() string
}

type Dog struct{}
func (d Dog) Speak() string {
    return "Vau!"
}

type Cat struct{}
func (c Cat) Speak() string {
    return "Miau!"
}

func main() {
    animals := []Animal{Dog{}, Cat{}}
    for _, animal := range animals {
        fmt.Println(animal.Speak())
    }
}

Ebben a példában különböző típusok valósítanak meg egy interfészt, demonstrálva a polimorfizmust.