Métodos são usados ​​para acessar e modificar os dados de um objeto. Essas são as entidades que são chamadas com o uso de objetos de uma classe ou do próprio pacote. Métodos são basicamente uma sub-rotina em Perl, não há identidade especial de um método. A sintaxe de um método é a mesma de uma sub-rotina. Assim como as sub-rotinas, os métodos são declarados com o uso de subpalavras-chave.

O método pega um objeto ou pacote no qual é chamado como seu primeiro argumento. OOPs usa esses métodos para manipular os dados do objeto e não interagir com o objeto diretamente, isso é feito para manter a segurança dos dados e evitar que o programador altere os dados de um objeto diretamente. Isso pode ser feito usando vários métodos auxiliares, que usam o objeto como argumento e armazenam seu valor em outra variável. Além disso, as modificações são realizadas na segunda variável. Essas modificações não afetam os dados do objeto, tornando-o mais seguro.

Tipos de métodos em Perl:

Com base nos argumentos passados, os métodos podem ser classificados em dois tipos - staticmétodo e virtualmétodo.

Um staticmétodo é aquele em que o primeiro argumento passado para o método é o nome da classe. As funcionalidades de um método estático são aplicadas a toda a classe porque leva o nome da classe como argumento. Esses métodos também são chamados de métodos de classe . Como a maioria dos métodos está na mesma classe e, portanto, não há necessidade de passar o nome da classe como um argumento.
Exemplo: os construtores de uma classe são considerados métodos estáticos.

Um virtualmétodo é aquele em que a referência ao objeto é passada como o primeiro argumento da função. Em uma função virtual, o primeiro argumento é deslocado para uma variável local e, em seguida, esse valor é usado como referência.

Exemplo:

sub Student_data
{ 
    my $self = shift; 
        
    # Calculating the result 
    my $result = $self->{'Marks_obtained'} / 
                 $self->{'Total_marks'}; 
                     
    print "Marks scored by the student are: $result"; 
} 

Métodos em Programação Orientada a Objetos requerem parênteses para conter os argumentos, enquanto esses métodos são chamados com o uso de um operador de seta ( -> ).

get-setMétodos:
Métodos são usados ​​para fornecer segurança aos dados do objeto e, portanto, usados ​​com a referência do objeto ou o valor é armazenado em alguma outra variável e então usado. get-setos métodos são usados ​​nos OOPs para fornecer essa segurança de dados aos objetos. get-methodajuda a obter o valor atual do objeto e o set valuemétodo é usado para definir um novo valor para o objeto.

Exemplo:

# Declaration and definition of Base class 
use strict; 
use warnings; 
    
# Creating parent class 
package vehicle; 
  
# Setter method
sub set_mileage
{ 
    
    # shift will take package name 'vehicle'  
    # and assign it to variable 'class' 
    my $class = shift; 
        
    my $self = { 
                'distance'=> shift, 
                'petrol_consumed'=> shift
               }; 
        
    # Bless function to bind object to class 
    bless $self, $class; 
        
    # returning object from constructor 
    return $self; 
} 
    
# Getter method
sub get_mileage 
{ 
    my $self = shift; 
        
    # Calculating result 
    my $result = $self->{'distance'} / 
                 $self->{'petrol_consumed'}; 
                     
    print "The mileage by your vehicle is: $result\n"; 
      
} 
  
# Object creation and method calling
my $ob1 = vehicle -> set_mileage(2550, 170); 
$ob1->get_mileage(); 

Saída: