libGdx dziedziczenie

0

Hej

Jestem przyzwyczajony, że dziedziczenie klas odbywa się w ten sposób, że używam extends + nazwaKlasy z której dziedziczy i tyle.
Używam teraz libGdx i tam mam foldery xyz i xyz-android, tak wygląda kod z klasy xyz:

package pl.wp.xxx.xxx;

import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

public class ABC implements ApplicationListener {
.
.
.
 

a tak klasa z folderu xyz-android:

package pl.wp.xxx.xxx;

import android.os.Bundle;

import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;

public class MainActivity extends AndroidApplication {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
        cfg.useGL20 = true;
        cfg.useAccelerometer = false;
        cfg.useCompass = false;
        initialize(new ABC(), cfg);
    }
}
 

W tym przypadku nadrzędną klasą jest xyz? I gdzie to dziedziczenie jest w kodzie?
Pytam o to gdyż zdziwiło mnie, że nie ma tam znanego mi extends a i tak dziedziczy.

0

extends - dziedziczy
implements - implementuje

Bardzo niezrozumiale napisałeś, ale generalnie postaram się wytłumaczyć. Po pierwsze libGdx to tylko biblioteka i nie dzieje się tutaj nic magicznego i java będzie tutaj javą. Na górze masz klasę która implementuje interfejs listenera ( http://pl.wikipedia.org/wiki/Obserwator_(wzorzec_projektowy) ). W klasie dolnej która rozszerza AndroidAplication przy tworzeniu aktywności (@onCreate) inicjalizowna jest aplikacja i dodawany nowy obiekt listenera.

0

Ja w teorii zawsze rozumiałem dziedziczenie w ten sposób, że mam klasę "public class AAA" i żeby dziedziczyć z niej cokolwiek to w klasie bbb musiałem wpisać "public class BBB extends AAA" i tyle. A tutaj patrząc na to nie jestem w stanie nawet określić która klasa dziedziczy po której, gdyż "extends AndroidApplication" to nie jest nazwa klasy... Więc z czego dziedziczy on dziedziczy skoro ja nie mam klasy AndroidApplication?

0

Jak to nie masz? A co to import com.badlogic.gdx.backends.android.AndroidApplication; niby jest?

1 użytkowników online, w tym zalogowanych: 0, gości: 1