{"id":1604,"date":"2021-10-15T08:00:00","date_gmt":"2021-10-15T11:00:00","guid":{"rendered":"https:\/\/coodesh.com\/blog\/?p=1604"},"modified":"2021-11-25T19:59:42","modified_gmt":"2021-11-25T22:59:42","slug":"conceitos-de-poo-abstracao-e-encapsulamento","status":"publish","type":"post","link":"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/","title":{"rendered":"Conceitos de POO: abstra\u00e7\u00e3o e encapsulamento"},"content":{"rendered":"\n<p>Afinal de contas, o que \u00e9 Programa\u00e7\u00e3o Orientada a Objetos (POO) e os conceitos de abstra\u00e7\u00e3o e encapsulamento? Para come\u00e7ar, definirei de onde ela veio. Essa forma de programa\u00e7\u00e3o \u00e9 chamada de paradigma, na qual se diferencia principalmente do paradigma de programa\u00e7\u00e3o estruturada.&nbsp;<\/p>\n\n\n\n<p>Quando comecei no mundo da programa\u00e7\u00e3o, e imagino que com voc\u00ea tamb\u00e9m tenha sido assim, aprendemos sobre l\u00f3gica de programa\u00e7\u00e3o com estrutura de controles de fluxo e estruturas de repeti\u00e7\u00f5es. Eles s\u00e3o conhecidos tamb\u00e9m pelas palavras reservadas das linguagens que geralmente s\u00e3o: if, else, switch, for e while.&nbsp;<\/p>\n\n\n\n<p>Essas estruturas, junto com a sequencialidade da execu\u00e7\u00e3o dos programas e a execu\u00e7\u00e3o do programa em uma \u00fanica rotina, formam o paradigma de programa\u00e7\u00e3o estruturada.&nbsp;<\/p>\n\n\n\n<p>Esse tipo de programa\u00e7\u00e3o se torna insuficiente para a resolu\u00e7\u00e3o de programa reais e complexos, pois existe um acoplamento forte do c\u00f3digo a ser desenvolvido.<\/p>\n\n\n\n<p>A Orienta\u00e7\u00e3o a Objetos surgiu para resolver esse tipo de problema, mas tamb\u00e9m para criar uma camada de abstra\u00e7\u00e3o ao se desenvolver programas, imaginando que podemos criar objetos como uma met\u00e1fora para a nossa vida real.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conceitos de POO<\/strong><\/h2>\n\n\n\n<p>Falando em abstra\u00e7\u00e3o, aqui v\u00e3o os quatro conceitos que formam a <a href=\"https:\/\/coodesh.com\/blog\/dicionario\/o-que-e-poo-em-programacao\/\">Programa\u00e7\u00e3o Orientada a Objetos<\/a>:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Abstra\u00e7\u00e3o;<\/li><li>Encapsulamento;<\/li><li>Heran\u00e7a;<\/li><li>Polimorfismo.<\/li><\/ul>\n\n\n\n<p>Focarei em dois desses conceitos: abstra\u00e7\u00e3o e encapsulamento. Para cada um escreverei uma breve explica\u00e7\u00e3o junto com um exemplo de c\u00f3digo em TypeScript.&nbsp;<\/p>\n\n\n\n<p>Se voc\u00ea quiser reproduzir esses c\u00f3digos eu sugiro utilizar o<a href=\"https:\/\/www.typescriptlang.org\/play\"> Playground<\/a>, dessa forma voc\u00ea pode usar o TypeScript sem precisar instalar nada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Abstra\u00e7\u00e3o<\/h3>\n\n\n\n<p>Esse \u00e9 o primeiro conceito que quero abordar, pois ele \u00e9 em si o conceito de cria\u00e7\u00e3o das classes e objetos. Esse conceito nos orienta a construir c\u00f3digos que sejam relacionados com objetos da nossa vida real.&nbsp;<\/p>\n\n\n\n<p>Classes s\u00e3o os modelos ou moldes nos quais surgir\u00e3o os objetos. As classes definem algumas propriedades e m\u00e9todos que dever\u00e3o fazer parte do objeto que derivar dela ou ent\u00e3o, como dizemos, os objetos que ser\u00e3o instanciados a partir dela.<\/p>\n\n\n\n<p>Aqui vai um c\u00f3digo em TypeScript para criar uma classe de uma Candidatura e logo ap\u00f3s a instancia\u00e7\u00e3o do objeto a partir dela. Vou criar um objeto desse tipo para tentar aplicar os conceitos de orienta\u00e7\u00e3o a objetos a um problema real que desenvolvemos aqui na Coodesh.&nbsp;<\/p>\n\n\n\n<p>Como fazemos aqui n\u00e3o \u00e9 exatamente o que farei neste artigo, mas ajuda a concretizar a aplica\u00e7\u00e3o desses conceitos:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><code>class Candidatura {<br>&nbsp; &nbsp; _pessoaCandidata: string;<br>&nbsp; &nbsp; _vaga: string;<br>&nbsp; &nbsp; _pretensaoSalarial: number;<br><br>&nbsp; &nbsp; constructor(pessoaCandidata: string, vaga: string, pretensaoSalarial: number) {<br>&nbsp; &nbsp; &nbsp; &nbsp; this._pessoaCandidata = pessoaCandidata;<br>&nbsp; &nbsp; &nbsp; &nbsp; this._vaga = vaga;<br>&nbsp; &nbsp; &nbsp; &nbsp; this._pretensaoSalarial = pretensaoSalarial;<br>&nbsp; &nbsp; }<br><br>&nbsp; &nbsp; enviarTesteTecnico(){<br>&nbsp; &nbsp; &nbsp; &nbsp; console.log('Enviar email para ' + this._pessoaCandidata);<br>&nbsp; &nbsp; }<br>}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div><\/div>\n<\/div>\n<\/div>\n\n\n\n<p>Nesse c\u00f3digo acima temos alguns conceitos muito importantes sobre a orienta\u00e7\u00e3o a objetos. O primeiro \u00e9 a declara\u00e7\u00e3o da classe Candidatura, esse \u00e9 o nosso molde na qual todas as candidaturas dever\u00e3o ser criadas.&nbsp;<\/p>\n\n\n\n<p>Nossa classe tem tr\u00eas propriedades, <strong>pessoaCandidata<\/strong>, <strong>vaga<\/strong> e <strong>pretensaoSalarial.<\/strong> Essas propriedades s\u00e3o as caracter\u00edsticas que cada objeto dever\u00e1 ter. Usando a linguagem TypeScript podemos definir os tipos dessas propriedades, as duas primeiras como <em>string<\/em> e a \u00faltima como <em>number.<\/em><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><em>M\u00e9todos&nbsp;<\/em><\/h4>\n\n\n\n<p>Logo ap\u00f3s a defini\u00e7\u00e3o das propriedades temos a defini\u00e7\u00e3o de dois m\u00e9todos. M\u00e9todos s\u00e3o as a\u00e7\u00f5es que cada objeto dever\u00e1 ter.&nbsp;<\/p>\n\n\n\n<p>O primeiro m\u00e9todo, <strong>constructor<\/strong>, \u00e9 um m\u00e9todo especial, deve ter esse nome para promover a a\u00e7\u00e3o desejada. Ele \u00e9 o m\u00e9todo que ser\u00e1 chamado no momento da instancia\u00e7\u00e3o de um objeto, por isso ele recebe tr\u00eas par\u00e2metros e preenche as propriedades do objeto a ser criado.&nbsp;<\/p>\n\n\n\n<p>Perceba que usamos a palavra reservada <em>this<\/em> dentro da classe para atribuir um valor para o par\u00e2metro dentro da classe. Essa palavra faz refer\u00eancia ao pr\u00f3prio objeto que ser\u00e1 criado.<\/p>\n\n\n\n<p>O segundo m\u00e9todo criado \u00e9 o m\u00e9todo <strong>enviarTesteTecnico.<\/strong> Esse m\u00e9todo simula o envio de um e-mail para a pessoa candidata. Deve-se chamar esse m\u00e9todo quando quiser executar a a\u00e7\u00e3o de enviar o teste t\u00e9cnico. Dentro desse m\u00e9todo certamente a l\u00f3gica ser\u00e1 mais complexa do que a atual, mas depois de implementada a l\u00f3gica podemos enviar o teste t\u00e9cnico apenas chamando esse m\u00e9todo, promovendo assim a abstra\u00e7\u00e3o desse c\u00f3digo.<\/p>\n\n\n\n<p>No c\u00f3digo acima apenas criamos nossa classe, mas ainda n\u00e3o fizemos nada com ela. Inclusive se voc\u00ea executar esse c\u00f3digo n\u00e3o acontecer\u00e1 nada. Veja aqui abaixo a cria\u00e7\u00e3o de uma inst\u00e2ncia dessa classe (o chamado objeto) e a execu\u00e7\u00e3o do m\u00e9todo <strong>enviarTesteTecnico.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><code>const candidaturaAda = new Candidatura('Ada Lovelace', 'Dev FullStack Coodesh', 5500);<br><br>candidaturaAda.enviarTesteTecnico();<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Ao executar esse c\u00f3digo voc\u00ea ver\u00e1 o seguinte resultado: [LOG]: &#8220;Enviar e-mail para Ada Lovelace&#8221;.<\/p>\n\n\n\n<p>Veja que agora temos uma camada de abstra\u00e7\u00e3o para a cria\u00e7\u00e3o de candidaturas. Se uma pessoa desenvolvedora for desenvolver algo a partir de um objeto dessa classe n\u00e3o precisa se preocupar em saber qual o c\u00f3digo dentro do m\u00e9todo <strong>enviarTesteTecnico<\/strong>. Isso nada mais \u00e9 que o conceito de abstra\u00e7\u00e3o em orienta\u00e7\u00e3o a objetos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Encapsulamento<\/h3>\n\n\n\n<p>Esse \u00e9 um conceito simples de aplicar, pois \u00e9 simplesmente para mantermos as propriedades protegidas de acessos diretamente, produzindo dessa forma efeitos n\u00e3o desejados nas nossas classes.&nbsp;<\/p>\n\n\n\n<p>Do jeito que foi escrita nossa classe e por conta do TypeScript, as propriedades est\u00e3o com acesso p\u00fablico, ou seja, agora \u00e9 poss\u00edvel acessar essas propriedades dessa forma:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><code>console.log(candidaturaAda.pessoaCandidata)<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Veja que o nome da Ada foi escrito na tela, da mesma forma conseguimos reatribuir valor para essa propriedade. Para evitar esse comportamento devemos adicionar os modificadores de acessos tanto para as propriedades quanto para o m\u00e9todo.<\/p>\n\n\n\n<p>Veja o c\u00f3digo a seguir:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><code>class Candidatura {<br>&nbsp; &nbsp; private _pessoaCandidata: string;<br>&nbsp; &nbsp; private _vaga: string;<br>&nbsp; &nbsp; private _pretensaoSalarial: number;<br><br>&nbsp; &nbsp; \/\/ c\u00f3digo do construtor omitido<br><br>&nbsp; &nbsp; public enviarTesteTecnico(){<br>&nbsp; &nbsp; &nbsp; &nbsp; console.log('Enviar email para ' + this._pessoaCandidata);<br>&nbsp; &nbsp; }<br><br>&nbsp; &nbsp; public get pessoaCandidata(){<br>&nbsp; &nbsp; &nbsp; &nbsp; return this._pessoaCandidata;<br>&nbsp; &nbsp; }<br><br>&nbsp; &nbsp; public set pessoaCandidata(pessoaCandidata: string){<br>&nbsp; &nbsp; &nbsp; &nbsp; this._pessoaCandidata = pessoaCandidata;<br>&nbsp; &nbsp; }<br>}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Perceba que agora, al\u00e9m dos modificadores, adicionei tamb\u00e9m dois outros m\u00e9todos especiais. O m\u00e9todo <strong>get pessoaCandidata<\/strong> ser\u00e1 o m\u00e9todo para acessar o valor da propriedade <strong>pesssoaCandidata<\/strong> e o m\u00e9todo <strong>set pessoaCandidata<\/strong> ser\u00e1 utilizado para alterar o valor dessa propriedade. Ao executar o c\u00f3digo abaixo novamente, o resultado pode parecer o mesmo mas de fato n\u00e3o \u00e9.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><code>console.log(candidaturaAda.pessoaCandidata)<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Dessa forma, fizemos o encapsulamento da nossa classe permitindo o acesso da propriedade <strong>pessoaCandidata<\/strong> apenas de forma indireta pelos m\u00e9todos get e set dessa propriedade.&nbsp;<\/p>\n\n\n\n<p>Tente adicionar os getters e setters para as outras propriedades dessa classe. Ah, e se voc\u00ea n\u00e3o conhece que \u00e9 Ada Lovelace vale uma pesquisa para conhecer um pouco da hist\u00f3ria da programa\u00e7\u00e3o.<\/p>\n\n\n\n<p>Espero que esse artigo o tenha ajudado a compreender sobre os conceitos de abstra\u00e7\u00e3o e encapsulamento em orienta\u00e7\u00e3o a objetos. Continue estudando para se preparar para as vagas aqui na <a href=\"https:\/\/coodesh.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Coodesh<\/a>.<\/p>\n\n\n\n<p>E aproveite para fazer parte da nossa <a href=\"https:\/\/coodesh.com\/desenvolvedores\" target=\"_blank\" rel=\"noreferrer noopener\">comunidade<\/a> e conferir as <a href=\"https:\/\/coodesh.com\/vagas\" target=\"_blank\" rel=\"noreferrer noopener\">vagas<\/a> mais recentes para DEVs.&nbsp;<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Afinal de contas, o que \u00e9 Programa\u00e7\u00e3o Orientada a Objetos (POO) e os conceitos de abstra\u00e7\u00e3o e encapsulamento? Para come\u00e7ar, definirei de onde ela veio. Essa forma de programa\u00e7\u00e3o \u00e9 chamada de paradigma, na qual se diferencia principalmente do paradigma de programa\u00e7\u00e3o estruturada.&nbsp; Quando comecei no mundo da programa\u00e7\u00e3o, e imagino que com voc\u00ea tamb\u00e9m [&hellip;] <a class=\"g1-link g1-link-more\" href=\"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/\">Ler mais<\/a><\/p>\n","protected":false},"author":1,"featured_media":1657,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[471,146],"tags":[258,439,206,251,354],"class_list":{"0":"post-1604","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-backend","8":"category-metodologias","9":"tag-classes","10":"tag-conceito","11":"tag-desenvolvedores","12":"tag-objetos","13":"tag-programacao-orientada-a-objetos"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Conceitos de POO: abstra\u00e7\u00e3o e encapsulamento<\/title>\n<meta name=\"description\" content=\"Entenda o que \u00e9 abstra\u00e7\u00e3o e encapsulamento na Programa\u00e7\u00e3o Orientada a Objetos com exemplos. Clique no link e saiba mais.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Conceitos de POO: abstra\u00e7\u00e3o e encapsulamento\" \/>\n<meta property=\"og:description\" content=\"Entenda o que \u00e9 abstra\u00e7\u00e3o e encapsulamento na Programa\u00e7\u00e3o Orientada a Objetos com exemplos. Clique no link e saiba mais.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog: Recrutar Desenvolvedores e Conte\u00fado de Programa\u00e7\u00e3o\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-15T11:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-25T22:59:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/coodesh.com\/blog\/wp-content\/uploads\/2021\/10\/abstracao-e-encapsulamento-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1440\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Coodesh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rodrigo Barreto\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/candidates\\\/metodologias\\\/conceitos-de-poo-abstracao-e-encapsulamento\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/candidates\\\/metodologias\\\/conceitos-de-poo-abstracao-e-encapsulamento\\\/\"},\"author\":{\"name\":\"Coodesh\",\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/#\\\/schema\\\/person\\\/be89698e2ad35891807e4ba9cd5bbb9e\"},\"headline\":\"Conceitos de POO: abstra\u00e7\u00e3o e encapsulamento\",\"datePublished\":\"2021-10-15T11:00:00+00:00\",\"dateModified\":\"2021-11-25T22:59:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/candidates\\\/metodologias\\\/conceitos-de-poo-abstracao-e-encapsulamento\\\/\"},\"wordCount\":1121,\"publisher\":{\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/candidates\\\/metodologias\\\/conceitos-de-poo-abstracao-e-encapsulamento\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/10\\\/abstracao-e-encapsulamento-scaled.jpg\",\"keywords\":[\"classes\",\"conceito\",\"desenvolvedores\",\"objetos\",\"programa\u00e7\u00e3o orientada a objetos\"],\"articleSection\":[\"Back-end\",\"Metodologias\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/candidates\\\/metodologias\\\/conceitos-de-poo-abstracao-e-encapsulamento\\\/\",\"url\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/candidates\\\/metodologias\\\/conceitos-de-poo-abstracao-e-encapsulamento\\\/\",\"name\":\"Conceitos de POO: abstra\u00e7\u00e3o e encapsulamento\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/candidates\\\/metodologias\\\/conceitos-de-poo-abstracao-e-encapsulamento\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/candidates\\\/metodologias\\\/conceitos-de-poo-abstracao-e-encapsulamento\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/10\\\/abstracao-e-encapsulamento-scaled.jpg\",\"datePublished\":\"2021-10-15T11:00:00+00:00\",\"dateModified\":\"2021-11-25T22:59:42+00:00\",\"description\":\"Entenda o que \u00e9 abstra\u00e7\u00e3o e encapsulamento na Programa\u00e7\u00e3o Orientada a Objetos com exemplos. Clique no link e saiba mais.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/candidates\\\/metodologias\\\/conceitos-de-poo-abstracao-e-encapsulamento\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/coodesh.com\\\/blog\\\/candidates\\\/metodologias\\\/conceitos-de-poo-abstracao-e-encapsulamento\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/candidates\\\/metodologias\\\/conceitos-de-poo-abstracao-e-encapsulamento\\\/#primaryimage\",\"url\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/10\\\/abstracao-e-encapsulamento-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/10\\\/abstracao-e-encapsulamento-scaled.jpg\",\"width\":2560,\"height\":1440},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/candidates\\\/metodologias\\\/conceitos-de-poo-abstracao-e-encapsulamento\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pessoas Candidatas\",\"item\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/candidates\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Back-end\",\"item\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/candidates\\\/backend\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Conceitos de POO: abstra\u00e7\u00e3o e encapsulamento\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/\",\"name\":\"Blog: Recrutar Desenvolvedores e Conte\u00fado de Programa\u00e7\u00e3o\",\"description\":\"Conte\u00fados para ajudar sua empresa a contratar profissionais de tecnologia e dicas para programadores sobre: carreira, hard skills e soft skills. Confira! \",\"publisher\":{\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/#organization\",\"name\":\"Coodesh\",\"url\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/Original2x.png\",\"contentUrl\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/Original2x.png\",\"width\":800,\"height\":246,\"caption\":\"Coodesh\"},\"image\":{\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/coodesh.com\\\/blog\\\/#\\\/schema\\\/person\\\/be89698e2ad35891807e4ba9cd5bbb9e\",\"name\":\"Coodesh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/cc57adf8637e672646668162ba8d75bb47498857be3d93593ecab8b644ba46c7?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/cc57adf8637e672646668162ba8d75bb47498857be3d93593ecab8b644ba46c7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/cc57adf8637e672646668162ba8d75bb47498857be3d93593ecab8b644ba46c7?s=96&d=mm&r=g\",\"caption\":\"Coodesh\"},\"description\":\"Descubra habilidades. Elimine achismos. Decida com dados. Seja para construir uma equipe de sucesso ou aprimorar habilidades, as nossas solu\u00e7\u00f5es baseadas em ci\u00eancia e impulsionada por IA te levam aonde voc\u00ea precisa chegar!\",\"url\":\"https:\\\/\\\/www.linkedin.com\\\/in\\\/rodrigo-barreto1\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Conceitos de POO: abstra\u00e7\u00e3o e encapsulamento","description":"Entenda o que \u00e9 abstra\u00e7\u00e3o e encapsulamento na Programa\u00e7\u00e3o Orientada a Objetos com exemplos. Clique no link e saiba mais.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/","og_locale":"pt_BR","og_type":"article","og_title":"Conceitos de POO: abstra\u00e7\u00e3o e encapsulamento","og_description":"Entenda o que \u00e9 abstra\u00e7\u00e3o e encapsulamento na Programa\u00e7\u00e3o Orientada a Objetos com exemplos. Clique no link e saiba mais.","og_url":"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/","og_site_name":"Blog: Recrutar Desenvolvedores e Conte\u00fado de Programa\u00e7\u00e3o","article_published_time":"2021-10-15T11:00:00+00:00","article_modified_time":"2021-11-25T22:59:42+00:00","og_image":[{"width":2560,"height":1440,"url":"https:\/\/coodesh.com\/blog\/wp-content\/uploads\/2021\/10\/abstracao-e-encapsulamento-scaled.jpg","type":"image\/jpeg"}],"author":"Coodesh","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Rodrigo Barreto","Est. tempo de leitura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/#article","isPartOf":{"@id":"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/"},"author":{"name":"Coodesh","@id":"https:\/\/coodesh.com\/blog\/#\/schema\/person\/be89698e2ad35891807e4ba9cd5bbb9e"},"headline":"Conceitos de POO: abstra\u00e7\u00e3o e encapsulamento","datePublished":"2021-10-15T11:00:00+00:00","dateModified":"2021-11-25T22:59:42+00:00","mainEntityOfPage":{"@id":"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/"},"wordCount":1121,"publisher":{"@id":"https:\/\/coodesh.com\/blog\/#organization"},"image":{"@id":"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/#primaryimage"},"thumbnailUrl":"https:\/\/coodesh.com\/blog\/wp-content\/uploads\/2021\/10\/abstracao-e-encapsulamento-scaled.jpg","keywords":["classes","conceito","desenvolvedores","objetos","programa\u00e7\u00e3o orientada a objetos"],"articleSection":["Back-end","Metodologias"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/","url":"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/","name":"Conceitos de POO: abstra\u00e7\u00e3o e encapsulamento","isPartOf":{"@id":"https:\/\/coodesh.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/#primaryimage"},"image":{"@id":"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/#primaryimage"},"thumbnailUrl":"https:\/\/coodesh.com\/blog\/wp-content\/uploads\/2021\/10\/abstracao-e-encapsulamento-scaled.jpg","datePublished":"2021-10-15T11:00:00+00:00","dateModified":"2021-11-25T22:59:42+00:00","description":"Entenda o que \u00e9 abstra\u00e7\u00e3o e encapsulamento na Programa\u00e7\u00e3o Orientada a Objetos com exemplos. Clique no link e saiba mais.","breadcrumb":{"@id":"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/#primaryimage","url":"https:\/\/coodesh.com\/blog\/wp-content\/uploads\/2021\/10\/abstracao-e-encapsulamento-scaled.jpg","contentUrl":"https:\/\/coodesh.com\/blog\/wp-content\/uploads\/2021\/10\/abstracao-e-encapsulamento-scaled.jpg","width":2560,"height":1440},{"@type":"BreadcrumbList","@id":"https:\/\/coodesh.com\/blog\/candidates\/metodologias\/conceitos-de-poo-abstracao-e-encapsulamento\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/coodesh.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Pessoas Candidatas","item":"https:\/\/coodesh.com\/blog\/candidates\/"},{"@type":"ListItem","position":3,"name":"Back-end","item":"https:\/\/coodesh.com\/blog\/candidates\/backend\/"},{"@type":"ListItem","position":4,"name":"Conceitos de POO: abstra\u00e7\u00e3o e encapsulamento"}]},{"@type":"WebSite","@id":"https:\/\/coodesh.com\/blog\/#website","url":"https:\/\/coodesh.com\/blog\/","name":"Blog: Recrutar Desenvolvedores e Conte\u00fado de Programa\u00e7\u00e3o","description":"Conte\u00fados para ajudar sua empresa a contratar profissionais de tecnologia e dicas para programadores sobre: carreira, hard skills e soft skills. Confira! ","publisher":{"@id":"https:\/\/coodesh.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/coodesh.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/coodesh.com\/blog\/#organization","name":"Coodesh","url":"https:\/\/coodesh.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/coodesh.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/coodesh.com\/blog\/wp-content\/uploads\/2020\/08\/Original2x.png","contentUrl":"https:\/\/coodesh.com\/blog\/wp-content\/uploads\/2020\/08\/Original2x.png","width":800,"height":246,"caption":"Coodesh"},"image":{"@id":"https:\/\/coodesh.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/coodesh.com\/blog\/#\/schema\/person\/be89698e2ad35891807e4ba9cd5bbb9e","name":"Coodesh","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/cc57adf8637e672646668162ba8d75bb47498857be3d93593ecab8b644ba46c7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/cc57adf8637e672646668162ba8d75bb47498857be3d93593ecab8b644ba46c7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cc57adf8637e672646668162ba8d75bb47498857be3d93593ecab8b644ba46c7?s=96&d=mm&r=g","caption":"Coodesh"},"description":"Descubra habilidades. Elimine achismos. Decida com dados. Seja para construir uma equipe de sucesso ou aprimorar habilidades, as nossas solu\u00e7\u00f5es baseadas em ci\u00eancia e impulsionada por IA te levam aonde voc\u00ea precisa chegar!","url":"https:\/\/www.linkedin.com\/in\/rodrigo-barreto1\/"}]}},"wps_subtitle":"","_links":{"self":[{"href":"https:\/\/coodesh.com\/blog\/wp-json\/wp\/v2\/posts\/1604","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coodesh.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coodesh.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coodesh.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/coodesh.com\/blog\/wp-json\/wp\/v2\/comments?post=1604"}],"version-history":[{"count":5,"href":"https:\/\/coodesh.com\/blog\/wp-json\/wp\/v2\/posts\/1604\/revisions"}],"predecessor-version":[{"id":1729,"href":"https:\/\/coodesh.com\/blog\/wp-json\/wp\/v2\/posts\/1604\/revisions\/1729"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/coodesh.com\/blog\/wp-json\/wp\/v2\/media\/1657"}],"wp:attachment":[{"href":"https:\/\/coodesh.com\/blog\/wp-json\/wp\/v2\/media?parent=1604"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coodesh.com\/blog\/wp-json\/wp\/v2\/categories?post=1604"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coodesh.com\/blog\/wp-json\/wp\/v2\/tags?post=1604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}