Palavras-chave comparadas em diferentes idiomas
Este tópico lista tarefas comuns de programação que podem ser resumidas com uma palavra-chave de linguagem.Para obter mais informações sobre tarefas que precisam de exemplos de código, consulte Conceitos de programação comparados em diferentes idiomas com exemplos de códigos.
Objetivo |
Visual Basic |
C++ |
C# |
JScript |
Visual FoxPro |
---|---|---|---|---|---|
Declare uma variável |
declarators (conceito, não palavra-chave) |
declarators (palavras-chave incluem tipos definidos pelo usuário e tipos internos) |
var |
[implícita declaração] PUBLIC LOCAL PRIVATE |
|
Declarar uma constante nomeada |
const |
#DEFINE |
|||
Criar uma nova instância de uma classe |
new |
NEWOBJECT( ) função |
|||
Criar um novo objeto |
CreateObject() para objetos COM |
CoCreateInstance() (para objetos COM) |
new ActiveXObject() |
CREATEOBJECT( ) função |
|
Atribuir um objeto a uma variável de objeto |
= |
= |
= |
= STORE |
|
Método/função não retorna um valor |
void |
Void (Somente COM servidores) |
|||
Uma função ou método de sobrecarga (Visual Basic: um procedimento ou método de sobrecarga) |
(Nenhuma palavra-linguagem chave necessário para essa finalidade) |
(Nenhuma palavra-linguagem chave necessário para essa finalidade) |
(Nenhuma palavra-linguagem chave necessário para essa finalidade) |
(Nenhuma palavra-linguagem chave necessário para essa finalidade) |
|
Fazer referência ao objeto corrente |
Me3 |
this |
this thisform |
||
Fazer uma telefonar nonvirtual para um método virtual do objeto corrente |
MyClass::Func1(), onde MyClass é uma classe C++ com uma função de membro Func1. |
n/d |
n/d |
n/d |
|
Recuperar o caractere de uma seqüência de caracteres |
*(p + 10) ou p[10] onde p é um char * ou wchar_t * |
str[10] onde str é uma seqüência de caracteres |
str[10], onde str é um string charAt substring substr |
SUBSTR( ) |
|
Declarar um tipo de dados compostos (estrutura) |
class, interface |
n/d |
|||
Inicializar um objeto (construtor) |
construtores (conceito, não palavra-chave) |
Construtores ou construtores de tipo de sistema padrão |
Construtor (conceito, não palavra-chave) 6 |
Evento Init |
|
terminar um objeto diretamente |
n/d |
~ClassName |
n/d |
n/d |
n/d |
Método chamado pelo sistema pouco antes de coleta de lixo recupera um objeto 7 |
Finalizar (no Visual Basic 6.0, Class_Terminate) |
Destructors (C++) (conceito, não palavra-chave) |
n/d |
Evento Destroy |
|
Inicializar uma variável onde ela é declarada |
Dim x As Long = 5 Dim c As New Car(FuelTypeEnum.Gas) |
/ / inicializar para um valor: int x=5; //with um construtor apropriado: C c(10); |
/ / inicializar para um valor: int x = 123; / / ou usar o construtor padrão: int x = new int(); |
var x = 5 var y : car = new car() |
LOCAL x x = 5 |
Obter o endereço de uma função |
AddressOf (Esse operador retorna uma referência a uma função na forma de uma instância delegado) |
Use o nome da função sem parênteses |
n/d |
||
Retorno de chamada |
Passar o endereço de uma função para outro que chama o chamador de volta.Para um exemplo, consulte Como: PASS procedimentos como outro procedimento no Visual Basic. |
CALLBACK (um tipo padrão) callback (Atributo IDL) |
n/d |
n/d |
|
Declare um objeto pode ser modificado assincronamente |
n/d |
n/d |
n/d |
||
Forçar a declaração explícita de variáveis |
n/d (todas as variáveis devem ser declaradas antes de usar) |
n/d (todas as variáveis devem ser declaradas antes de usar) |
modo rápido (em por padrão) |
NOVO _VFP.LanguageOptions |
|
Permitir inferência de tipos de tipos local |
|||||
Teste para uma variável de objeto que não faz referência a um objeto |
pobj == NULL |
obj == null |
obj == undefined obj == null |
VARTYPE(obj)=="0" |
|
Valor de uma variável de objeto que não faz referência a um objeto |
nullptr |
null undefined |
.F. |
||
Teste para uma expressão do banco de dados nula |
n/d |
n/d |
x == null |
ISNULL( ) |
|
Testar se uma variável Variant foi inicializada |
n/d |
n/d |
n/d |
x == undefined |
EMPTY( ) |
Definir uma propriedade padrão |
property: a property palavra-chave se refere ao código gerenciado |
n/d |
n/d |
Object-Oriented Programming
Objetivo |
Visual Basic |
C++ |
C# |
JScript |
Visual FoxPro |
---|---|---|---|---|---|
Consulte a classe base |
super |
Propriedade BaseClass Propriedade ParentClass DODEFAULT() classe::membro |
|||
Declarar uma interface |
interface |
DEFINE CLASS |
|||
Especificar uma interface a serem implementados |
(Apenas derivar a partir da interface) class C1 : public I1 |
class C1 : I1 Interfaces |
IMPLEMENTS |
IMPLEMENTS NOVO |
|
Declarar uma classe |
class |
DEFINE CLASSMyClassAS <ParentClass> |
|||
Declarar um módulo |
static class |
static class |
n/d |
n/d |
|
Declarar uma definição parcial de uma classe ou estrutura |
n/d |
n/d |
n/d |
||
Especifica uma classe só pode ser herdada.Não é possível criar uma instância da classe |
abstract |
n/d |
|||
Especificar que uma classe não pode ser herdada |
final |
n/d |
|||
Declarar um tipo enumerado |
Enum |
n/d |
|||
Declarar uma constante de classe |
Const (Aplicadas a uma declaração de campo) |
Const |
#DEFINE |
||
Derivar uma classe de uma classe base |
Class C1 : public Base (Nenhum linguagem palavra-chave necessários para essa finalidade) |
class C1 : C2 |
Estende a classe c1 c2 |
DEFINE CLASS MyClass AS ParentClass |
|
Substituir um método ou propriedade |
(Nenhuma palavra-linguagem chave necessário para essa finalidade, exceto override para /clr compilações — consulte Classes derivadas) |
(Nenhuma palavra-linguagem chave necessário para essa finalidade) |
(Nenhuma palavra-linguagem chave necessário para essa finalidade) |
||
Declara um método que deve ser implementado em uma classe deriving |
Put = 0 no participante da declaração do (método virtual puro) |
abstract |
(Nenhuma palavra-linguagem chave necessário para essa finalidade) |
||
Declara um método não pode ser substituído |
NotOverridable (Os métodos são NotOverridable Por padrão.) |
final |
n/d |
||
Declara um acessador de propriedade de método ou propriedade virtual |
(Os métodos são virtual por padrão) |
n/d |
|||
Ocultar um membro da classe base em uma classe derivada |
n/d |
||||
Declarar uma referência typesafe para um método de classe |
Use o nome da função sem parênteses |
n/d |
|||
Especificar que uma variável pode conter um objeto cujos eventos deseja tratar |
n/d |
(Não escreva o código - nenhuma palavra-chave específica) |
(Não escreva o código - nenhuma palavra-chave específica) |
EVENTHANDLER( ) NOVO |
|
Especifique os eventos para o qual um procedimento de evento será chamado |
Alças (Procedimentos de evento podem ainda ser associados com um WithEvents variável pelo padrão de nomenclatura) |
n/d |
evento += eventHandler; |
n/d |
BINDEVENTS( ) |
Avaliar uma expressão de objeto uma vez, para acessar vários membros |
n/d |
com 9 |
WITH ... ENDWITH |
Tratamento de exceção
Objetivo |
Visual Basic |
C++ |
C# |
JScript |
Visual FoxPro |
---|---|---|---|---|---|
Manipulação de exceção estruturada |
try catch finally throw |
TRY [ tryCommands ] [ CATCH [ To VarName ] [ WHEN IExpression ] ] [ catchCommands ] ] [ THROW [ eUserExpression ] ] [ EXIT ] [ FINALLY [ finallyCommands ] ] ENDTRY |
|||
Manipulação de exceções do C++ |
n/d |
n/d |
n/d |
n/d |
Estruturas de Decisão
Objetivo |
Visual Basic |
C++ |
C# |
JScript |
Visual FoxPro |
---|---|---|---|---|---|
Estrutura de decisão (seleção) |
Caso |
switch case break |
CASE ICASE |
||
Estrutura de decisão (se...em seguida) |
if else |
IF ... ENDIF IIF( ) |
|||
Estrutura de loop (condicional) |
fazer, ao mesmo tempo interromper, continuar |
DO, WHILE (cláusulas) |
|||
Estrutura de loop (iteração) |
de (x = 0; x < 10; x ++) {...} para (prop em obj) {imprimir (obj[prop]);} |
FOR (cláusulas) FOR ... ENDFOR Continue NEXT FOR EACH (cláusulas)FOR ... ENDFOR, Continue, Next |
Matrizes
Objetivo |
Visual Basic |
C++ |
C# |
JScript |
Visual FoxPro |
---|---|---|---|---|---|
Declarar uma matriz |
[int] x = novo int [5] |
var x: [int] var arr = array() |
DIMENSION DECLARE |
||
Inicializar uma matriz |
var x: [int] = [1, 2, 3, 4, 5] var arr = novo array (1, 2, 3, 4, 5)] |
x[1] = 1 x[2] = 2 |
|||
Realocar matriz |
n/d |
n/d |
arr.length=newSize (apenas para arrays JScript) 10 |
DIMENSION DECLARE |
Escopo de classe
Objetivo |
Visual Basic |
C++ |
C# |
JScript |
Visual FoxPro |
---|---|---|---|---|---|
Visível fora do projeto ou assembly |
public |
n/d |
|||
Visível somente dentro do assembly no qual declarado |
interno |
n/d |
|||
Visível somente em classes derivadas ou corrente |
n/d |
n/d |
n/d |
||
O acesso é limitado ao conjunto corrente ou tipos derivados da classe recipiente. |
protected internal |
n/d |
n/d |
||
Visível somente dentro do projeto (para classes aninhadas, a classe de encerramento) |
private |
n/d |
Escopo de membro
Objetivo |
Visual Basic |
C++ |
C# |
JScript |
Visual FoxPro |
---|---|---|---|---|---|
Acessível fora do módulo de classe e projeto |
public |
(Nenhuma palavra-linguagem chave necessário para essa finalidade) |
|||
Acessível de fora da classe, mas dentro do projeto ou pacote |
public private: |
interno |
n/d |
||
Acessíveis somente para classes derivadas e corrente |
protected |
PROTECTED |
|||
Acessível somente dentro de classe ou módulo |
private |
HIDDEN |
|||
Especifique uma função ou outra classe tem acesso a particular membros da classe declarativo |
n/d |
amigo (Não permitida em C++) |
amigo |
n/d |
n/d |
Protegido dentro do assembly e particulares para outros assemblies |
n/d |
protected private |
n/d |
n/d |
n/d |
O acesso é limitado ao assembly corrente ou tipos derivados da classe recipiente |
protected internal |
n/d |
n/d |
Tempo de vida de diversos
Objetivo |
Visual Basic |
C++ |
C# |
JScript |
Visual FoxPro |
---|---|---|---|---|---|
Preservar as variáveis locais do procedimento |
Estático11 |
n/d |
n/d |
||
Compartilhados por todas as instâncias de uma classe |
estático |
n/d |
Diversos
Objetivo |
Visual Basic |
C++ |
C# |
JScript |
Visual FoxPro |
---|---|---|---|---|---|
Código de comentário |
/ /, / * * / para comentários de várias linhas |
* && OBSERVAÇÃO: |
|||
Distinção entre diferenciar diferenciar maiúsculas de minúsculas? |
Não |
Sim |
Sim |
Sim |
Não |
Chamar a API do Windows |
n/d |
n/d |
DECLARE - DLL |
||
Declarar e acionar um evento |
n/d |
n/d |
RAISEEVENT( ) função |
||
Primitivos de Threading |
n/d |
n/d |
n/d |
||
Vá para a (ramificar) |
n/d |
n/d |
1 In Visual Basic, o único local em que Static pode ser usado sozinho para declarar uma variável — por exemplo, Static x As Long — está dentro de um procedimento.
2 In Visual Basic, procedimentos declarados com o Sub palavra-chave não pode retornar valores. Se for um procedimento retornar um valor, você deverá declará-lo com o Function palavra-chave.
3 In Visual Basic, Me não é resolvido no momento da compilar, para que você possa usá-lo sistema autônomo o valor retornado de uma propriedade ou método.
4 No JScript, o substr função ainda é suportada, mas não a forma preferida de acesso caracteres dentro de uma seqüência de caracteres. A maneira mais eficiente de acesso um caractere de um local específico em uma seqüência de caracteres está usando os colchetes.Por exemplo, para acessar o décimo caractere a seqüência de caracteres str, use str[10].
5 In Visual Basic, constructors for classes derived from .NET Framework System.Object are always named New.
6 No JScript, a sobrecarga não é permitida em construtores.
7 Normalmente, código em um método de tal libera recursos de sistema que seriam não ser liberados automaticamente pelo coletor de lixo.
8 No C++, uma classe abstrata inclui pelo menos um membro virtual puro.
9 No JScript, não há nenhum ponto entrelinhamento, sistema autônomo você deseja usar em Visual Basic. Esse recurso com com facilidade pode causar confusão, pois podem ser confundidas variáveis para propriedades e vice-versa.Observe também que o with demonstrativo produz código lento.
10No JScript, isso não realocar a matriz e não "crescer"-lo ou.Matrizes de JScript (declaradas sistema autônomo tipo Array) são sempre esparsos e dinâmico. Matrizes nativo (declaradas sistema autônomo System.Array ou sistema autônomo type[]) não são dinâmicos.
11 In Visual Basic, variáveis locais estáticas dos métodos de classe compartilhada são armazenadas por instância de classe em vez de compartilhar uma única cópia, sistema autônomo em outros idiomas. Quando Static é usado para declarar uma variável, o valor dessa variável é preservado mesmo quando a variável perde e, em seguida, recupera o escopo.
Consulte também
Referência
Conceitos de programação comparados em diferentes idiomas com exemplos de códigos
Operadores comparados em diferentes idiomas
Tipos de dados comparados em diferentes idiomas
Controles e objetos programáveis comparados em diferentes idiomas e bibliotecas