| Magik Tutorial – Parte 1 Declarando Classe by WSouza
|
Sobre a linguagem
Magik é uma linguagem de programação orientada à objetos que suporta multipla herança, polimorfismo e é de tipagem dinâmica. Linguagens de tipagem dinâmica não exigem declaração do tipo de dados da variável, ela pode ser alterada durante a compilação ou execução do programa de acordo com os valores associados.
Alguns comandos básicos:
Atribuição: <<
Comentário: #
Variável local: _local nome_da_variavel
Variável global: _global nome_da_variavel
Loop: _loop acao _endloop
If: _if condicao _then acao _endif
Operadores: *,/,-,+
Imprimir: write("conteudo a ser impresso")
_parte1
Declarando uma classe
Para declarar uma nova classe magik, utilizamos a estrutura básica abaixo:
##-----------------------------------------------------------------------------
## FILE : $Workfile: minha_primeira_classe.magik $
##
## DESCRIPTION : Class to help rookies to learn magik
##
##
## Copyright (c) 2010, WSchool. Proprietary and Confidential
##
## HISTORY : $History: minha_primeira_classe.magik $
##
## ***************** Version 1 *****************
## User: WSouza Date: 02/03/2011 Time: 17:16
##-----------------------------------------------------------------------------
#Comando para reconstruir a classe
remex(:minha_primeira_classe)
$
#comando para definir um slot
def_slotted_exemplar (:minha_primeira_classe,{{:meu_primeiro_slot,_unset, :readable}})
$
#metodo que instancia a classe
_pragma(classify_level=basic, topic={tutorial}, usage={external})
_method minha_primeira_classe.new()
## Return a new menu.
##
>> _clone.init()
_endmethod
$
#metodo que inicia a classe
_pragma(classify_level=basic, topic={tutorial}, usage={external})
_private _method minha_primeira_classe.init()
## Initialise slots.
##
.meu_primeiro_slot << hash_table.new()
>> _self
_endmethod
$
#meu primeiro metodo funcional
_pragma(classify_level=basic, topic={tutorial}, usage={external})
_method minha_primeira_classe.meu_primeiro_metodo()
write("hello smallworld")
_endmethod
$
Esse conteúdo deve ser salvo como um arquivo, com o nome da classe e extensão magik >> minha_primeira_classe.magik.
Após ter esse arquivo, que contém o código fonte da sua primeira classe, você deve carregar sua classe no SmallWorld utilizando o comando load_file("z:\minha_primeira_classe.magik"). Esse comando "load_file" é utilizado para carregar arquivos magik no SmallWorld. Uma vez carregada no SmallWorld a nova classe, vamos agora instanciar e chamar o nosso primeiro metodo utilizando os seguintes comandos:
#estou atribuindo uma nova instancia da classe minha_primeira_classe na variavel x
x << minha_primeira_classe.new()
#estou chamando o meu_primeiro_metodo
x.meu_primeiro_metodo()
Após executar esses comandos, o resultado esperado no terminal é hello smallworld
Com isso terminamos a primeira parte do tutorial Magik!
_endpart1
$
Baixar minha_primeira_classe.magik
Boa tarde. Como treino na linguagem magik?
ResponderExcluirDa uma olhada nisso, já é um começo
ResponderExcluirhttps://en.wikipedia.org/wiki/Magik_(programming_language)
Segue mais um link
ResponderExcluirhttps://www.mdt.net/