<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Antônio Fernando</title>
    <description>The latest articles on DEV Community by Antônio Fernando (@afecst).</description>
    <link>https://dev.to/afecst</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F664913%2F8450309f-c637-4e95-a90b-49b8d8078d0f.jpeg</url>
      <title>DEV Community: Antônio Fernando</title>
      <link>https://dev.to/afecst</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/afecst"/>
    <language>en</language>
    <item>
      <title>Getters and Setters</title>
      <dc:creator>Antônio Fernando</dc:creator>
      <pubDate>Sat, 02 Oct 2021 18:56:22 +0000</pubDate>
      <link>https://dev.to/afecst/getters-and-setters-3kl4</link>
      <guid>https://dev.to/afecst/getters-and-setters-3kl4</guid>
      <description>&lt;p&gt;Getters e Setters são alguns dos principais métodos especiais na programação orientada à objetos. Mas, o que são realmente eles? Usamos em diversas linguagens de programação como recurso nativo e às vezes não paramos para pensar sobre seu verdadeiro propósito e comodidade. Assim, logo abaixo elencarei algumas das principais características desses métodos tão chamados! &lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Métodos&lt;/th&gt;
&lt;th&gt;Definição&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Getters&lt;/td&gt;
&lt;td&gt;Os métodos especiais surgiram de maneira geral com o intuito de padronizar a segurança dos atributos da classe. Sendo assim, o método &lt;em&gt;get&lt;/em&gt; cumpre com o comportamento de método acessor, ou seja, conseguem acessar um determinado atributo através de um método - O método &lt;em&gt;getter&lt;/em&gt; - Mantendo a segurança de acesso ao atributo e evitando o acesso direto.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Setters&lt;/td&gt;
&lt;td&gt;De outro modo, os métodos modificadores, os &lt;em&gt;setters&lt;/em&gt;, modificam a propriedade da classe através de um método - O método &lt;em&gt;setter&lt;/em&gt; - Garantindo assim, a segurança do atributo e reduzindo a possibilidade de acesso direto a propriedade. Assim, apenas permitindo a modificação do atributo através do método.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>codenewbie</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>O que é visibilidade em atributos</title>
      <dc:creator>Antônio Fernando</dc:creator>
      <pubDate>Fri, 27 Aug 2021 18:27:59 +0000</pubDate>
      <link>https://dev.to/afecst/o-que-e-visibilidade-em-atributos-24jc</link>
      <guid>https://dev.to/afecst/o-que-e-visibilidade-em-atributos-24jc</guid>
      <description>&lt;p&gt;Na Orientação à objetos temos diversos modificadores de visibilidade: &lt;em&gt;Public, Private e Protect.&lt;/em&gt; São keywords comuns em diversas linguagens de programação orientadas à objetos - Indicam o nível de acesso aos componentes internos de uma classe - Logo abaixo, enumerarei algumas diferenças entre seus respectivos acessos aos componentes da classe:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Modificadores&lt;/th&gt;
&lt;th&gt;Modo de acesso&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;public&lt;/td&gt;
&lt;td&gt;Classe atual e todas as outras classes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;privado&lt;/td&gt;
&lt;td&gt;Apenas a classe atual.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;protect&lt;/td&gt;
&lt;td&gt;Classe atual e todas suas sub-classes.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public class ExemploClasse: {
  public String name; // O acesso ao atributo name é público para todas as outras classes.
  private double number; // O atributo number não poderá nem ser lido ou modificado - Ao não ser pela própria classe - Ou seja, o dono dos dados da classe é a própria classe. Assim, caso queira alterar propriedades da classe - Nunca diretamente - É indicado utilizar invocações de métodos da classe.
  protect String city; // Somente será acessado através da própria classe - Como visto anteriormente no private - Mas, ao contrário do private, as sub-classes também obterão acesso. 
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>braziliandevs</category>
      <category>programming</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>How to use this keyword </title>
      <dc:creator>Antônio Fernando</dc:creator>
      <pubDate>Wed, 18 Aug 2021 18:39:38 +0000</pubDate>
      <link>https://dev.to/afecst/this-keyword-4lfa</link>
      <guid>https://dev.to/afecst/this-keyword-4lfa</guid>
      <description>&lt;p&gt;A Keyword &lt;em&gt;this&lt;/em&gt; é um recurso presente em inúmeras linguagens de programação e eventualmente pode causar uma certa estranheza quanto ao seu caso de uso em específico e ao seu comportamento através da orientação à objetos. &lt;/p&gt;

&lt;p&gt;Em seguida, demonstrarei brevemente sua aplicação e seu contexto de utilização.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Keyword&lt;/th&gt;
&lt;th&gt;Descrição&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;This&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;A Keyword &lt;em&gt;this&lt;/em&gt; é uma referência ao próprio objeto instanciado. Ou seja, no momento da execução do método ou do construtor do objeto em que &lt;em&gt;this&lt;/em&gt; está escrito, &lt;em&gt;this&lt;/em&gt; apontará para si próprio obtendo o acesso as propriedades e atributos do objeto.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public class Example {
  int variable;
  void exampleMethod(int variable) {
  this.variable += variable; // This está referenciando ao próprio objeto instanciado e obtendo acesso à seus atributos e propriedades.

// Ah, esse uso da Keyword This é bem singular por proporcionar a distinção do "variable" atributo ao "variable" parâmetro do método. Faça seus teste :) tente retirar a Keyword This do código e observar o que acontece!
}
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>As principais diferenças entre os paradigmas de programação</title>
      <dc:creator>Antônio Fernando</dc:creator>
      <pubDate>Wed, 11 Aug 2021 20:55:15 +0000</pubDate>
      <link>https://dev.to/afecst/as-principais-diferencas-entre-o-paradigma-de-orientacao-a-objeto-e-outros-2hmc</link>
      <guid>https://dev.to/afecst/as-principais-diferencas-entre-o-paradigma-de-orientacao-a-objeto-e-outros-2hmc</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"O computador ideal deve funcionar como um organismo vivo, isso é, cada célula se relaciona com outras a fim de alcançar um objetivo, mas cada uma funciona de forma autônoma. As células poderiam também reagrupar-se para resolver um outro problema ou desempenhar outras funções."&lt;/em&gt; - Alan Kay, &lt;strong&gt;fundador do conceito de orientação à objetos&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Existem na computação diversas metodologias e modelos para se desenvolver um software de maneira eficaz. Ao longo do tempo essas formas de desenvolvimento foram naturalmente sendo introduzidas, exemplo: Programação de baixo nível, Programação linear, Programação estruturada, Programação Modular e a Programação Orientada à Objetos. &lt;/p&gt;

&lt;p&gt;A seguir algumas das principais diferenças entre elas:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Paradigmas&lt;/th&gt;
&lt;th&gt;Descrição&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Programação de baixo nível&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Conhecida de maneira geral como linguagem de máquina, seu uso foi inicialmente atrelado por parte de engenheiros e tendo como principal característica um formato não natural de desenvolvimento para os desenvolvedores.&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Programação linear&lt;/td&gt;
&lt;td&gt;&lt;em&gt;De certa forma uma evolução em relação ao modelo anterior, apresentando um modelo de desenvolvimento mais natural e inteligível. Porém, esse paradigma apresenta ausência dos principais recursos utilizados atualmente como desvios e rotinas. E, de certa forma, sua estrutura aparenta ser semelhante à uma lista de compras tendo como característica um escrita de código de cima para baixo sem uso de recursos de desvios.&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Programação estruturada&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Com o advento da programação estruturada tivemos o acesso aos principais recursos hoje utilizados, foi com ela o surgimento das noções de desvios, rotinas e entre outros recursos de código. Contudo, com a complexidade cada vez maior dos sistemas houve-se a necessidade de modularizar esses trechos de código afim de deixá-los mais legíveis em virtude que na programação estruturada os dados globais eram todos dispostos sem modularidade. Ou seja, sem organização de trechos de códigos.&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Programação Modular&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Na programação modular tivemos a resolução do problema anterior acrescentando modularidade ao paradigma de programação, fazendo com que o programa do desenvolvedor tornar-se mais manutenível e organizado. Vale lembrar que esse modelo de programação foi rapidamente deixado de lado com o eventual surgimento da programação orientada à objetos.&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Programação Orientada à Objetos&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Um dos principais paradigmas de programação da atualidade. A programação orientada à objetos surgiu em decorrência da tentativa de aproximação do mundo real com o universo do desenvolvimento, trazendo conceitos importantes da biologia e matemática para formular um modelo de programação mais fácil de entender e organizado; Além de possuir vantagens como a confiabilidade, ser oportuno, manutenível, extensível, reutilizável e natural.&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
    </item>
  </channel>
</rss>
