Como começar a programar em Perl da maneira correta. (Diferente de mim)
Perl Orientado a Objeto Part I
Perl Orientado a Objeto Part II
Perl Orientado a Objeto Part III
Moo - Orientação de objeto minimalista
A linguagem de programação Perl
“A linguagem pretende ser prática (fácil de usar, eficiente, completa) ao invés de bonita (pequena, elegante, mínima).”
— Kirrily Robert
perlintro - a brief introduction and overview of Perl - Perldoc Browser
Vou inaugurar meu Dev.to falando mal de mim. Mas eu não seria eu mesma se não usasse um pouco a autodepreciação para, além de render umas boas risadas para mim mesma, alertar vocês de como começar a estudar uma nova linguagem de programação indicando qual o começo certo, caso você decida embarcar no Perl comigo.
O Perl é uma linguagem de programação de uso geral, criada inicialmente pra manipulações de texto (e como ele cumpre muito bem esse papel viu), mas atualmente você pode criar até um universo com ela, se for bom.
Também é uma linguagem antiga, foi criada em 1987. Por conta disso muitas pessoas me questionam “por que você escolheu Perl para trabalhar?” e o que mais costumo responder é: Eu não escolhi o Perl para trabalhar, foi ele quem me escolheu. Mas se fosse contar essa história ocuparia todo o post. Então vamos por a mão na massa.
⚠️ Este post tem como objetivo definir orientação a objeto com Perl de maneira descontraída, por tanto ele leva em consideração que você, leitor, tenha conhecimento de lógica e linguagem e programação e saiba algumas definições de orientação a objeto.
Programação Orientada a Objeto
A Programação Orientada a Objetos é um dos quatro paradigmas da programação, juntamente com: imperativa, funcional e lógica. Ela se baseia na composição (atributos) e e interação (métodos) de objetos.
Perl é uma linguagem multiplataforma, e apenas a partir da sua versão 5 que ela passou a dar suporte para orientação a objeto.
Para aplicar a orientação a objeto em Perl é muito simples. Veja a seguir:
Classes
As classes são os pacotes dos arquivos que tem construtores que retornam objetos;
package model::Performances; # General Class
Objetos
Os objetos em Perl são estruturas de dados que agrupam atributos e métodos das nossas classes.
Construtor
A criação de um construtor no perl pode ser feita de maneira simples, usando uma de suas sub-rotinas para retornar a estrutura de dados abençoada (objeto) com todos os atributos de sua classe. O nome da sub-rotina não importa muito, mas por convenção e boas práticas de programação usamos o new(). A seguir podemos ver um exemplo.
package model::Performances; # General Class
sub new { # Constructor
my $this = shift;
my $class = ref ($this) || $this;
# Attributes in classes
my $self = {
name => shift,
audience => shift,
type_play => shift,
};
return bless $self, $class;
}
Métodos
O método simplesmente é uma sub-rotina regular dentro de uma classe.
sub amount_for { # Method
my $self = shift;
return ($self->audience * 1000) / $self->type_play;
}
👋🏻 Então pessoal, esses foram os conceitos mais básicos de orientação a objeto no perl. Continuem de olho que logo mais farei publicações sobre Polimorfismo, Herança e Encapsulamento e outras aplicações voltadas a essa linguagem de programação tão abrangente. Até a próxima.
Top comments (6)
Nice start. I do not speak Portuguese, so I used this English translation: https://dev-to.translate.goog/victoriabispo/perl-orientado-a-objeto-1bd1?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp
Are you planning on covering the planned latest iteration of OO in Perl at some point?
Bom começo! Eu não falo português então usei essa tradução do Google: https://dev-to.translate.goog/victoriabispo/perl-orientado-a-objeto-1bd1?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp
Você está planejando cobrir a última iteração planejada de OO em Perl em algum momento?
Hi Matthew! I will make the articles as I review concepts I already know and new concepts. Thanks for the contribution, I'm already excited to meet Corinna.
Suggestion - as you add articles, go back and update prior ones with next and previous article links. That will make reading them as a series much more convenient (and likely).
Thank you.
Sugestão - à medida que você adiciona artigos, volte e atualize os anteriores com os links do artigo seguinte e anterior. Isso tornará a leitura deles como uma série muito mais conveniente (e provável).
Obrigada. (Google Translate)
Ótima leitura! Recomendo.
Muito bom ! Parabéns 🎉