4D v19Super | 
            |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
                 
                
    
    
                 | 
                
			
                    
                         
    4D v19
 
Super 
                                
                                
        
 | 
                ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Super {( param {; param2 ; ... ; paramN} )} -> Resultado | ||||||||
| Parâmetro | Tipo | Descrição | ||||||
| param | Mixed | 
             
         | 
        Parâmetros a passar ao constructor pai | |||||
| Resultado | Objeto | 
             
         | 
        Pai do objeto | |||||
O comando Super faz chamadas à superclasse.
Super foi introduzido para servir dois propósitos:
  // dentro do constructor myClass
 C_TEXT($1;$2)
 Super($1) //chama o constructor de superclass com um parâmetro texto
 This.param:=$2 // usa o segundo parâmetro Super.doSomething(42) //chama a função "façaAlgo"  declarada em superclassesEste exemplo ilustra o uso de Super em um class constructor. O comando é chamado para evitar duplicar as partes do constructor que são comuns entre as classes Rectangle e Square.
  //Classe: Rectangle
 
 Class constructor
 C_LONGINT($1;$2)
 This.name:="Rectangle"
 This.height:=$1
 This.width:=$2
 
 Function sayName
 ALERT("Hi, I am a "+This.name+".")
 
 Function getArea
 C_LONGINT($0)
 $0:=This.height*This.width
  //Class: Square
 
 Class extends Rectangle
 
 Class constructor
 C_LONGINT($1)
 
  // Chama o construtor da classe pai com as dimensões
  // fornecidas para a largura e latura do  Rectangle
 Super($1;$1)
 
  // Em classes derivadas, Super deve ser chamado antes
  // de usar  'This'
 This.name:="Square"
Este exemplo ilustra o uso de Super no método class member.
Crie um a classe Rectangle com uma função:
  //Class: Rectangle
 
 Function nbSides
 C_TEXT($0)
 $0:="I have 4 sides"Também crie uma classe Square com uma função chamando uma função superclasse:
  //Class: Square
 
 Class extends Rectangle
 
 Function description
 C_TEXT($0)
 $0:=Super.nbSides()+" which are all equal"Agora pode escrever em um método projeto:
 C_OBJECT($square)
 C_TEXT($message)
 $square:=cs.Square.new()
 $message:=$square.description() //I have 4 sides which are all equal
	Produto: 4D
	Tema: Linguagem
	Número 
        1706
        
        
        
	
	Criado por: 4D v18 R3
	
	
	
	
	Manual de linguagem 4D ( 4D v19)
	
	
	Manual de linguagem 4D ( 4D v19.1)
Adicionar um comentário