Klíčová slova ve srovnání v různých jazycích
Toto téma obsahuje seznam běžných programovacích úloh, které mohou být sumarizovány pomocí klíčového slova jazyka.Další informace o úkolech, které potřebují příklady kódu naleznete v tématu Programovací pojmy porovnání v různých jazycích a s příklady kódu.
Účel |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Deklarování proměnné |
declarators (pojem, nikoli klíčové slovo) |
declarators (klíčová slova zahrnout předdefinované typy a typy definované uživatelem) |
||
Deklarovat pojmenované konstanty |
||||
Vytvořte novou instanci třídy |
new |
|||
Vytvořte nový objekt |
CreateObjectpro objekty COM. |
CoCreateInstance() (pro objekty modelu COM) |
new |
|
Přiřaďte objekt proměnné objektu |
= |
= |
<- |
|
Funkce/metoda nevrací hodnotu |
Sub2 |
|||
Přetížení funkce nebo metody (Visual Basic: přetížení procedury nebo metody) |
(Žádný jazyk klíčové potřebných k tomuto účelu) |
(Žádný jazyk klíčové potřebných k tomuto účelu) |
||
Vytvořte odkaz na aktuální objekt |
Me3 |
|||
Nevirtuální volání virtuální metody aktuálního objektu |
MyClass::Func1(), kde MyClass je třída C++ pomocí členské funkce Func1. |
Nelze použít |
Nelze použít |
|
Načtení znaku z řetězce |
GetChar, nebo str(10) kde str je řetězec |
*(p + 10)nebo p[10] kde p je char * nebo wchar_t * |
str[10]kde str je řetězec |
str.Chars(10)kde str je řetězec |
Deklarovat složený datový typ (struktura) |
||||
Inicializace objektu (konstruktor) |
konstruktory (pojem, nikoli klíčové slovo) |
Konstruktory nebo systémové výchozí typ konstruktory |
||
Ukončit objekt přímo |
Nelze použít |
~Název třídy |
Nelze použít |
Nelze použít |
Metoda volána systémem těsně před uvolňování získá objekt5 |
Finalizovat (v jazyce Visual Basic 6.0, Class_Terminate) |
Destruktory (C++)(pojem, nikoli klíčové slovo) |
||
Záruka, že nespravované prostředky jsou odstraněny po použití |
Nelze použít |
|||
Inicializovat proměnnou, kde je deklarována |
Dim x As Long = 5 Dim c As New Car(FuelTypeEnum.Gas) |
/ / Inicializace na hodnotu: int x=5; //with odpovídající konstruktor: C c(10); |
/ / Inicializace na hodnotu: int x = 123; / / nebo pomocí výchozího konstruktoru: int x = new int(); |
let x = 123 |
Přijmout adresa funkce |
AddressOf (Tento operátor vrací odkaz na funkci v podobě instanci delegáta) |
|||
Zpětné volání |
Adresa jednu funkci předáte do druhého, který volá zpět původce.Příklad naleznete v tématu Jak: postupy předat jiné procedury v jazyce Visual Basic. |
CALLBACK(standardní typ) callback(Atribut IDL) |
Nelze použít |
|
Prohlásit, že objekt lze upravit asynchronně |
Nelze použít |
Nelze použít |
||
Vynucení explicitní deklaraci proměnných |
Není k dispozici (všechny proměnné musí být deklarovány předem použití) |
Není k dispozici (všechny proměnné musí být deklarovány předem použití) |
Není k dispozici (všechny proměnné musí být deklarovány předem použití) |
|
Povolit odvození typu místní |
Odvození typu proměnné je automaticky povolena. |
|||
Test pro proměnnou objektu, která neodkazuje na objekt |
pobj == NULL |
obj == null |
Typ možnosti použít ve výrazu shoda |
|
Hodnota proměnné objektu, který neodkazuje na objekt |
nullptr |
|||
Test databáze null výraz |
Nelze použít |
Nelze použít |
Nelze použít |
|
Otestujte, zda byla inicializována proměnná Variant |
Nelze použít |
Nelze použít |
Nelze použít |
Nelze použít |
Definovat výchozí vlastnost. |
property: propertyklíčové slovo označuje spravovaný kód |
Objektově orientované programování
Účel |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Naleznete v základní třídě. |
||||
Deklarovat rozhraní |
||||
Určete rozhraní mají být provedeny |
(Pouze jsou odvozeny z rozhraní) class C1 : public I1 |
class C1 : I1 Rozhraní |
||
Deklarujte třídu |
||||
Deklarovat modul |
static class |
static class |
||
Deklarovat částečnou definici třídy nebo struktury |
Nelze použít |
Ekvivalent.Viz téma Typ rozšíření (F#). |
||
Určete, zda lze pouze dědit třídu.Nelze vytvořit instanci třídy |
||||
Určit, že nemůžou být zděděny třídy |
||||
Deklarovat Výčtový typ |
||||
Deklarovat třídu konstanta |
Const (použito k deklaraci pole) |
Neměnný (konstantní) ve výchozím nastavení jsou hodnoty.Viz téma Hodnoty (F#). |
||
Třídu odvodit ze základní třídy |
Class C1 : public Base(Žádný jazyk klíčové potřebných k tomuto účelu) |
class C1 : C2 |
||
Přepsat metodu nebo vlastnost |
(Žádné klíčové slovo jazyka potřebných k tomuto účelu, s výjimkou override (rozšíření komponent C++) pro/CLR kompilace – viz Odvozené třídy) |
|||
Deklarovat metodu, která musí být prováděny v odvozená třída |
Vložit = 0 na konci prohlášení (čistě virtuální metoda) |
|||
Deklarovat metodu, která nemůže být přepsáno. |
NotOverridable (metody jsou NotOverridable ve výchozím nastavení.) |
Použijte atribut Sealed |
||
Deklarovat virtuální metodu nebo vlastnost nebo vlastnost přistupujícího objektu |
abstract, jak je popsáno v metody |
|||
Skrýt základní třídy člen v odvozené třídě. |
Skrytí virtuální nebo abstraktní metodu není povoleno. |
|||
Deklarovat ověřitelný odkaz na metodu třídy |
myObj.myFunctionkde myObj je objekt a myMethod je k dispozici v objektu metoda |
|||
Určit, že proměnná může obsahovat objekt jehož události chcete zpracovat |
Nelze použít |
(Zapsat kód - žádná specifická klíčová slova) |
Nelze použít |
|
Zadejte události, pro které bude volána procedura události |
Zpracovává (událostní procedury můžete stále spojené s WithEvents podle vzor pro pojmenování proměnné) |
Nelze použít |
Obslužná rutina události += událostí; |
Nelze použít |
Vyhodnotí výraz objekt jednou, chcete-li získat přístup k více členů |
Nelze použít |
Nelze použít |
Nelze použít |
Zpracování výjimek
Účel |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Zpracovávání výjimek |
Strukturované zpracování výjimek: __try, __except Zpracování výjimek C++: Zpracování výjimek modulu CLR: |
Rozhodnutí struktur
Účel |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Struktura rozhodnutí (výběr) |
||||
Struktura rozhodnutí (if...potom) |
||||
Strukturu smyčky (podmíněný) |
||||
Strukturu smyčky (opakování) |
Matice
Účel |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Deklarujte matice |
int[] x = new int[5]; |
let x = [| 1; 2; 3; 4; 5 |] |
||
Inicializace pole |
let x = [| 1; 2; 3; 4; 5 |] |
|||
Přerozdělování pole |
Nelze použít |
Nelze použít |
Nelze použít |
Třída oboru
Účel |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Viditelné mimo projekt nebo sestavení |
||||
Deklarované viditelné pouze v rámci sestavení, ve kterém |
||||
Viditelné pouze v rámci aktuálního nebo odvozené třídy |
Nelze použít |
Nelze použít |
||
Přístup je omezen na aktuální sestavení nebo typy odvozené od třídy obsahující. |
protected internal |
Nelze použít |
||
Viditelné pouze v rámci projektu (pro vnořené třídy v rámci ohraničující třídy) |
Člen oboru
Účel |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Přístupné vně třídy, projekt a modul |
||||
Přístupný vně třídy, ale v rámci projektu nebo balíček |
public private |
|||
Přístupný pouze pro aktuální a odvozené třídy |
Nelze použít |
|||
Přístupné pouze uvnitř třídy nebo modulu |
||||
Zadejte funkci nebo jiné třídy má přístup k soukromé členy deklarující třída |
Nelze použít |
Nelze použít |
Nelze použít |
|
Chráněný uvnitř sestavení a soukromé jiných sestavení |
Nelze použít |
protected private |
Nelze použít |
Nelze použít |
Přístup je omezen na aktuální sestavení nebo typy odvozené od třídy obsahující |
protected internal |
Nelze použít |
Různé životnost
Účel |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Zachovat lokální proměnné procedury |
Nelze použít |
|||
Sdíleny všechny instance třídy |
Různé
Účel |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Kód komentář |
/ /, (* *) pro víceřádkové komentáře |
|||
Malá a velká písmena? |
Ne |
Ano |
Ano |
Ano |
Volání rozhraní API systému Windows |
Nelze použít |
Pomocí volání nespravovaného kódu. Viz téma Externí funkce (F#). |
||
Deklarovat a vyvolat události |
Nelze použít |
|||
Threading primitiv |
Nelze použít |
|||
Přejít na (pobočka) |
Nelze použít |
1 v Visual Basic, pouze místo, kde Static lze použít samostatně pro deklarování proměnné, například Static x As Long – je v rámci procedury.
2 v Visual Basic, postupy deklarována s Sub klíčové slovo nemůže vracet hodnoty.Je-li postup vrátit hodnotu, je třeba deklarovat s Function klíčové slovo.
3 v Visual Basic, Me není vyřešen v době kompilace, takže je možné použít jako návratovou hodnotu vlastnosti nebo metody.
4 v Visual Basic, konstruktory pro třídy odvozené z .NET FrameworkSystem.Object jsou vždy s názvem New.
5 , Obvykle kód do tato metoda uvolní systémové prostředky, které by automaticky uvolněn systémem uvolňování.
6 v jazyce C++ abstraktní třídy obsahuje alespoň jednu prázdnou virtuální členskou.
7 v Visual Basic, statické místní proměnné metod sdíleném třídy jsou uloženy na instanci třídy namísto sdílení jedné kopie, stejně jako v jiných jazycích.Při Static je pro deklarování proměnné, hodnota této proměnné zachována i v případě, že proměnná ztratí a poté i oboru.
Viz také
Referenční dokumentace
Programovací pojmy porovnání v různých jazycích a s příklady kódu
Operátory porovnání v různých jazycích
Datové typy, porovnání v různých jazycích
Ovládací prvky a programovatelné objekty v různých jazycích a knihoven v porovnání