{"id":327,"date":"2024-02-03T11:36:03","date_gmt":"2024-02-03T14:36:03","guid":{"rendered":"https:\/\/desvendandoocodigo.com.br\/?p=327"},"modified":"2024-02-13T19:32:15","modified_gmt":"2024-02-13T22:32:15","slug":"orientacao-a-objetos-com-javascript-encapsulamento","status":"publish","type":"post","link":"https:\/\/desvendandoocodigo.com.br\/?p=327","title":{"rendered":"Orienta\u00e7\u00e3o a Objetos com JavaScript | Encapsulamento &#8211; \u00c9 Poss\u00edvel?"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><strong>O que \u00e9 Encapsulamento?<\/strong><\/h2>\n\n\n\n<p>Encapsulamento \u00e9 o processo de esconder a implementa\u00e7\u00e3o interna de um objeto e permitir o acesso aos dados somente por meio de interfaces bem definidas. Isso significa que os detalhes internos do objeto n\u00e3o s\u00e3o vis\u00edveis ou acess\u00edveis fora da sua defini\u00e7\u00e3o, mantendo a integridade e coes\u00e3o do c\u00f3digo.<\/p>\n\n\n\n<p>Encapsulamento \u00e9 um dos conceitos fundamentais da programa\u00e7\u00e3o orientada a objetos (POO) e desempenha um papel crucial na cria\u00e7\u00e3o de c\u00f3digo limpo, organizado e de f\u00e1cil manuten\u00e7\u00e3o.<\/p>\n\n\n\n<p>O JavaScript \u00e9 uma linguagem vers\u00e1til e din\u00e2mica, tamb\u00e9m suporta os princ\u00edpios da orienta\u00e7\u00e3o a objetos, incluindo encapsulamento. <\/p>\n\n\n\n<p>Sim, \u00e9 poss\u00edvel implementar encapsulamento em JavaScript. <\/p>\n\n\n\n<p>Embora JavaScript seja uma linguagem de programa\u00e7\u00e3o que originalmente n\u00e3o possui suporte direto para encapsulamento como algumas linguagens orientadas a objetos, existem t\u00e9cnicas que podem ser utilizadas para alcan\u00e7ar esse objetivo.<\/p>\n\n\n\n<p>Neste artigo exploramos o que \u00e9 encapsulamento em JavaScript e como aplic\u00e1-lo, especialmente para iniciantes. No exemplo de hoje utilizaremos fun\u00e7\u00f5es construtoras e o conceito de this podemos criar inst\u00e2ncias com m\u00e9todos privados e p\u00fablicos.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Orienta\u00e7\u00e3o a Objetos com JavaScript | Encapsulamento\" width=\"960\" height=\"540\" src=\"https:\/\/www.youtube.com\/embed\/O3kRd_S4wJ4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>ENCAPSULAMENTO.JS<\/strong>\n<strong>\n<\/strong>export default class Usuario{\n\n    constructor(login, senha){\n        this.login = login;\n\n        let _senha = senha;\n\n        this.getSenha = () =&gt; _senha;\n\n    }\n\n    logar(){\n\n        if(this.login === 'admin' &amp;&amp; this.getSenha() === '123'){\n            window.open('https:\/\/desvendandoocodigo.com.br\/');\n\n        }else{\n            window.open('.\/Error.html');\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>ERROR.HTML\n<\/strong>\n&lt;!DOCTYPE html&gt;\n&lt;html lang=\"pt-br\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n    &lt;title&gt;Error&lt;\/title&gt;\n    \n    &lt;style&gt;\n\n        div{                        \n            padding: 20px;  \n            font-size: 20pt;     \n            font-weight: bold;   \n            width: 50%; \n            background-color: rgb(222, 251, 251);\n            margin: auto;\n            \n        }  \n        body{\n            background-color: black;\n        }\n        input{          \n            display: flex;         \n            height: 40px;   \n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;div&gt;\n    &lt;h1&gt;Login ou Usu\u00e1rio Inv\u00e1lido!&lt;\/h1&gt;\n    &lt;\/div&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>INDEX.HTML\n<\/strong>\n&lt;!DOCTYPE html&gt;\n&lt;html lang=\"pt-br\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n    &lt;title&gt;Encapsulamento com JavaScript&lt;\/title&gt;\n    \n    &lt;style&gt;\n\n        div{                        \n            padding: 20px;  \n            font-size: 20pt;     \n            font-weight: bold;   \n            width: 50%; \n            background-color: rgb(222, 251, 251);\n            margin: auto;\n            \n        }  \n        body{\n            background-color: black;\n        }\n        input{          \n            display: flex;         \n            height: 40px;   \n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;div&gt;\n       &lt;form&gt;\n        &lt;p&gt;\n            Usu\u00e1rio:\n            &lt;input type=\"text\" id=\"inUsuario\"&gt;\n        &lt;\/p&gt;\n        &lt;p&gt;\n            Senha:\n            &lt;input type=\"text\" id=\"inSenha\"&gt;\n        &lt;\/p&gt;\n        &lt;input type=\"submit\"&gt;\n\n       &lt;\/form&gt;\n    &lt;\/div&gt;\n\n    &lt;script type=\"module\"&gt;\n        import Usuario from '.\/encapsulamento.js'\n\n        const frm = document.querySelector('form');\n\n        frm.addEventListener('submit',()=&gt;{\n\n            const user = frm.inUsuario.value;\n            const senha = frm.inSenha.value;\n\n            const usuario1 = new Usuario(user, senha);\n            usuario1.logar();\n\n        })\n\n        \n\n    &lt;\/script&gt;\n    \n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclus\u00e3o<\/strong><\/h2>\n\n\n\n<p>O encapsulamento \u00e9 uma pr\u00e1tica essencial para escrever c\u00f3digo JavaScript limpo, modular e de f\u00e1cil manuten\u00e7\u00e3o. Ao encapsular propriedades e m\u00e9todos, podemos garantir a integridade dos nossos objetos e reduzir o acoplamento entre diferentes partes do c\u00f3digo. Espero que este artigo tenha fornecido uma compreens\u00e3o b\u00e1sica de como aplicar encapsulamento em JavaScript, especialmente para iniciantes. Experimente praticar esses conceitos em seus pr\u00f3prios projetos para aprimorar suas habilidades de desenvolvimento!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O que \u00e9 Encapsulamento? Encapsulamento \u00e9 o processo de esconder a implementa\u00e7\u00e3o interna de um objeto e permitir o acesso aos dados somente por meio de interfaces bem definidas. Isso significa que os detalhes internos do objeto n\u00e3o s\u00e3o vis\u00edveis ou acess\u00edveis fora da sua defini\u00e7\u00e3o, mantendo a integridade e coes\u00e3o do c\u00f3digo. Encapsulamento \u00e9 um dos conceitos fundamentais da programa\u00e7\u00e3o orientada a objetos (POO) e desempenha um papel crucial na cria\u00e7\u00e3o de c\u00f3digo limpo, organizado e de f\u00e1cil manuten\u00e7\u00e3o. O JavaScript \u00e9 uma linguagem vers\u00e1til e din\u00e2mica, tamb\u00e9m suporta os princ\u00edpios da orienta\u00e7\u00e3o a objetos, incluindo encapsulamento. Sim, \u00e9 poss\u00edvel implementar encapsulamento em JavaScript. Embora JavaScript seja uma linguagem de programa\u00e7\u00e3o que originalmente n\u00e3o possui suporte direto para encapsulamento como algumas linguagens orientadas a objetos, existem t\u00e9cnicas que podem ser utilizadas para alcan\u00e7ar esse objetivo. Neste artigo exploramos o que \u00e9 encapsulamento em JavaScript e como aplic\u00e1-lo, especialmente para iniciantes. No exemplo de hoje utilizaremos fun\u00e7\u00f5es construtoras e o conceito de this podemos criar inst\u00e2ncias com m\u00e9todos privados e p\u00fablicos. Conclus\u00e3o O encapsulamento \u00e9 uma pr\u00e1tica essencial para escrever c\u00f3digo JavaScript limpo, modular e de f\u00e1cil manuten\u00e7\u00e3o. Ao encapsular propriedades e m\u00e9todos, podemos garantir a integridade dos nossos objetos e reduzir o acoplamento entre diferentes partes do c\u00f3digo. Espero que este artigo tenha fornecido uma compreens\u00e3o b\u00e1sica de como aplicar encapsulamento em JavaScript, especialmente para iniciantes. Experimente praticar esses conceitos em seus pr\u00f3prios projetos para aprimorar suas habilidades de desenvolvimento!<\/p>\n","protected":false},"author":1,"featured_media":519,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/327"}],"collection":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=327"}],"version-history":[{"count":7,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/327\/revisions"}],"predecessor-version":[{"id":554,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/327\/revisions\/554"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/media\/519"}],"wp:attachment":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=327"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=327"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=327"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}