Przejdź do treści

KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ

KRETS-A01-ClassesInterfacesGenerics — Klasy, interfejsy, dziedziczenie, generyki [2.0]

KRETS-A01-ClassesInterfacesGenerics — Klasy, interfejsy, dziedziczenie, generyki [2.0]

🇬🇧 English version below.
PoleWartość
TechnologiaKretS
PoziomADVANCED
KlasyfikacjaRUNNABLE_LOCAL — Uruchamialny lokalnie (SDK, izolowany proces pluginu)
PlaygroundLOCAL_EXECUTE — lokalnie: wykonanie w KretStudio / SDK (publicznie: tylko statycznie)
SDK1.0.0-rc.3+kret.local.3 (kandydat lokalny, niepodpisany)
Wynik testuTEST_RESULTS.json, rzeczywisty wynik: EXPECTED_OUTPUT.txt

Co pokazuje

Interfejs, klasa z konstruktorem init, dziedziczenie z super(...) i override, klasa generyczna Pair<A, B>, funkcja generyczna z ograniczeniem T: Shape, polimorfizm przez interfejs. Kod bazuje na oficjalnym przykładzie SDK ObjectOriented.

Pliki

Plik
Script/Main.krs
host-policy.json
plugin.kretl

Jak uruchomić

Katalog roboczy: katalog tego przykładu. kret oznacza <SDK>\Compiler\kret.exe, kretui-host — <SDK>\UiHost\kretui-host.exe. {DATA} / {OUT} to nowe, puste katalogi poza projektem. Wymagania: REQUIREMENTS.md.

  1. kret check . --json — walidacja
  2. kret run . --policy host-policy.json --data {DATA} — uruchomienie
  3. kret disasm . — czytelny zapis bytecode KBC 2

Oczekiwany wynik

„kwadrat 16 (pole); typy: Rect,Square,Rect” oraz listing bytecode z funkcją Start.

Najczęstszy błąd

Nadpisanie metody bez override albo próba przeciążenia funkcji (nazwy funkcji są unikalne) — błąd kompilacji.

Źródło i wersja

Zweryfikowany import PUBLIC_CANDIDATE. Identyfikatory źródeł odnoszą się do eksportu i nie dają dostępu do plików serwera.

01_LANGUAGES/KretS/Examples/ADVANCED_ClassesInterfacesGenerics/README.md
SHA-256 65EA1D6321BFB8463CE9321DC915E8269F5B77ABD997541C618B4F20B820CE9A

Oryginalne źródło jest dwujęzyczne; terminy techniczne i polecenia zachowano.

Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →

Wybierz, co możemy zapamiętać w tej przeglądarce. Możesz zmienić decyzję w każdej chwili.

Polityka prywatności