Infó III. tétel Flashcards
Az objektumorientált paradigma
Az objektumorientált paradigma olyan programozási módszer, amelyben az alkalmazásokat az objektumokra alapozzák. Az objektumorientált programozás alapfogalmai közé tartoznak az osztályok, objektumok, példányosítás, öröklődés, polimorfizmus, bezárási eszközrendszer, absztrakt osztályok és interfészek, valamint a típustagok.
Osztály
Az osztály egy olyan tervezési sablon, amely definiálja az objektumok tulajdonságait és viselkedését. Az osztályok tartalmazhatnak mezőket (attribútumokat) és metódusokat (függvényeket), amelyek az osztály által reprezentált objektumok jellemzőit és működését határozzák meg.
public class Car {
// Osztály mezői (attribútumok)
String brand;
int year;
// Osztály metódusai
void startEngine() {
// kód
}
}
Objektum
Az objektum egy az osztály alapján létrehozott példány. Az objektumok tartalmazzák az osztály által definiált mezőket és metódusokat.
Car myCar = new Car();
myCar.brand = “Toyota”;
myCar.year = 2022;
myCar.startEngine();
Példányosítás
A példányosítás folyamata, amelynek során egy osztály alapján objektumokat hozunk létre. Az objektumok példányosításához a new kulcsszót használjuk.
Car myCar = new Car();
Öröklődés
Az öröklődés azt jelenti, hogy egy osztály használhatja egy másik osztály tulajdonságait és metódusait. Az öröklődés segítségével új osztályokat lehet létrehozni meglévő osztályok alapján.
public class ElectricCar extends Car {
// Elektromos autó specifikus tulajdonságok és metódusok
boolean isCharging;
void chargeBattery() {
// kód
}
}
Osztályhierarchia
Az osztályhierarchia az öröklődés révén létrejövő osztályok hierarchiája. Az ősosztály (alapértelmezés szerint az Object osztály) a legfelső szintű, és az abból származó osztályok alkotják a hierarchiát.
Polimorfizmus
A polimorfizmus lehetővé teszi, hogy az azonos névvel rendelkező metódusok különböző osztályokban különböző módon működjenek. Két fajtája van: statikus (compile-time) és dinamikus (runtime) polimorfizmus.
Metódustúlterhelés
Ugyanazt a metódusnevet használjuk többféle paraméterezéssel
public class Calculator {
int add(int a, int b) {
return a + b;
}
double add(double a, double b) { return a + b; } }
Bezárás
Az encapsulation azt jelenti, hogy az osztály mezői privátak, és csak a metódusokon keresztül érhetők el. Az access modifiers (hozzáférési módosítók) segítenek szabályozni az osztály elemeinek láthatóságát.
public class Student {
// Privát mezők
private String name;
private int age;
// Nyilvános metódusok az adatok eléréséhez és beállításához public String getName() { return name; } public void setName(String newName) { name = newName; } public int getAge() { return age; } public void setAge(int newAge) { if (newAge >= 0) { age = newAge; } } }
Absztrakt Osztály
Olyan osztály, amelyből nem hozhatunk létre objektumot, csak az abból származó konkrét osztályokból.
Tartalmazhat absztrakt metódusokat is.
public abstract class Shape {
int sides;
// Absztrakt metódus public abstract double calculateArea(); }
Interfész
Olyan szerkezet, amely csak absztrakt metódusokat és konstansokat tartalmaz.
Egy osztály több interfészt is implementálhat.
public interface Drawable {
void draw();
void resize(int percentage);
}
Típustagok
A típustagok azt az információt hordozzák, hogy egy adott objektum milyen típusú, milyen osztályhoz tartozik. Segítenek a típusellenőrzésben és a biztonságosabb programozásban.