{"id":396,"date":"2009-09-03T12:08:40","date_gmt":"2009-09-03T14:08:40","guid":{"rendered":"https:\/\/www.kadunew.com\/blog\/?p=396"},"modified":"2009-09-17T14:03:40","modified_gmt":"2009-09-17T16:03:40","slug":"heranca-no-php-5","status":"publish","type":"post","link":"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5","title":{"rendered":"Heran\u00e7a no PHP 5"},"content":{"rendered":"<p>A utiliza\u00e7\u00e3o do paradigma orientado a objetos nos permite criar projetos de forma mais organizada, mas um de seus principais benef\u00edcios \u00e9 o reuso. A possibilidade de reutilizar partes de c\u00f3digos j\u00e1 escritos antes, nos dando mais agilidade no desenvolvimento de aplica\u00e7\u00f5es, e sem a necessidade de termos trechos de c\u00f3digos duplicados.<br \/>\nHeran\u00e7a em Orienta\u00e7\u00e3o a objetos nada mais \u00e9 que o compartilhamento de atributos e comportamentos entre as classes de uma mesma hierarquia. As classes inferiores da hierarquia herdam esses atributos e comportamentos das classes superiores, chamadas de superclasses.<br \/>\n<!--more Continuar lendo--><br \/>\nUm exemplo simples disso \u00e9 o seguinte:<br \/>\nUma superclasse chamada de veiculo. Todo ve\u00edculo tem nome, cor, ano de fabrica\u00e7\u00e3o, etc. Como m\u00e9todos poder\u00edamos ter andar, ligar, etc. Depois criar\u00edamos as classes mais especificas, como: Carro, Caminh\u00e3o, \u00d4nibus. E dentro de cada uma colocar\u00edamos as suas caracter\u00edsticas pr\u00f3prias, por exemplo, na classe \u00f4nibus podemos por as seguintes propriedades: N\u00famero m\u00e1ximo de passageiros sentados, n\u00famero m\u00e1ximo de passageiros em p\u00e9. Propriedades essas que j\u00e1 n\u00e3o s\u00e3o interessantes para as classes Carro e caminh\u00e3o.<br \/>\nPara exemplificar o uso de heran\u00e7a, vamos utilizar as classes Pessoa e funcion\u00e1rio.<br \/>\n<strong>Veja o diagrama UML abaixo:<\/strong><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.kadunew.com\/blog\/wp-content\/uploads\/2009\/08\/diagrama_pessoa_funcionario1.gif\" alt=\"diagrama_pessoa_funcionario1\" title=\"diagrama_pessoa_funcionario1\" width=\"222\" height=\"390\" class=\"aligncenter size-full wp-image-391\" srcset=\"https:\/\/www.kadunew.com\/blog\/wp-content\/uploads\/2009\/08\/diagrama_pessoa_funcionario1.gif 222w, https:\/\/www.kadunew.com\/blog\/wp-content\/uploads\/2009\/08\/diagrama_pessoa_funcionario1-170x300.gif 170w\" sizes=\"(max-width: 222px) 100vw, 222px\" \/><br \/>\n<strong>Abaixo o c\u00f3digo fonte comentado:<\/strong><\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\n&lt;\r\n?\r\nphp\r\nclass Pessoa\r\n\/*\r\nclasse pessoa. \u00e8 uma super classe. \u00c9 uma classe generica,\r\na partir dela podemos criar classes mais especificas.\r\n*\/\r\n{\r\n\t\/\/Atributos da classe\r\n\tvar $nome;\r\n\tvar $endereco;\r\n\tvar $idade;\r\n\r\n\t\/\/ metodos que imprimem os atributos da classe\r\n\tfunction ImprimeDados()\r\n\t{\r\n\t\techo &quot;Nome: {$this-&gt;nome}&lt;br&gt;&quot;;\r\n\t\techo &quot;Endere\u00e7o: {$this-&gt;endereco}&lt;br&gt;&quot;;\r\n\t\techo &quot;Idade: {$this-&gt;idade}&lt;br&gt;&quot;;\r\n\t}\r\n}\r\n\r\nclass Funcionario extends Pessoa\r\n\/*\r\nclasse filha, herda atributos e m\u00e9todos de sua classe pai,\r\nno caso a classe pessoa. Veja o comando extends para\r\ncriar a heran\u00e7a\r\n*\/\r\n{\r\n\t\/\/atributos da classe\r\n\tvar $salario;\r\n\tvar $cargo;\r\n\r\n\t\/* m\u00e9todo criado para calcular o salario liquido e\r\n\t  mostrar o mesmo*\/\r\n\tfunction ObterSalario()\r\n\t{\r\n       $this-&gt;salario -=$this-&gt;salario * 0.1;\r\n\t\techo &quot;Sal\u00e1rio:{$this-&gt;salario}&lt;br&gt;&quot;;\r\n\t}\r\n\r\n\t\/*Aqui temos uma sobre escrita (overriding). Veja\r\n\tque modificamos o funcionamento do metodo da classe pai\r\n\tacrescentando a impress\u00e3o na tela do salario e o cargo.\r\n\tO Operador parent:: serve para chamar o metodo da classe pai*\/\r\n\tfunction ImprimeDados()\r\n\t{\r\n\t\tparent::ImprimeDados();\r\n        echo &quot;Sal\u00e1rio Bruto: {$this-&gt;salario}&lt;br&gt;&quot;;\r\n\t\techo &quot;Cargo: {$this-&gt;cargo}&lt;br&gt;&quot;;\r\n\t}\r\n\r\n\r\n}\r\n\r\n?&gt;\r\n\r\n&lt;\r\n?\r\nphp\r\n\/\/criando o objeto $func e passando valores\r\n$func = new funcionario();\r\n$func-&gt;nome = &quot;carlos Eduardo&quot;;\r\n$func-&gt;endereco = &quot;Assis Brasil, 123&quot;;\r\n$func-&gt;idade = 23;\r\n$func-&gt;salario = 2000;\r\n$func-&gt;cargo = &quot;Diretor&quot;;\r\necho &quot;&lt;b&gt;Dados do funcion\u00e1rio&lt;\/b&gt;&lt;br&gt;&quot;;\r\n\/\/passando para o nosso objeto o metodo de mostrar os dados\r\necho &quot;{$func-&gt;ImprimeDados()}&quot;;\r\necho &quot;&lt;b&gt;Sal\u00e1rio do funcion\u00e1rio com desconto de 10%&lt;\/b&gt;&lt;br&gt;&quot;;\r\n\/\/mostrando o salario com o metodo que desconta 10%\r\necho &quot;{$func-&gt;ObterSalario()}&quot;;\r\n?&gt;\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>A utiliza\u00e7\u00e3o do paradigma orientado a objetos nos permite criar projetos de forma mais organizada, mas um de seus principais benef\u00edcios \u00e9 o reuso. A possibilidade de reutilizar partes de c\u00f3digos j\u00e1 escritos antes, nos dando mais agilidade no desenvolvimento de aplica\u00e7\u00f5es, e sem a necessidade de termos trechos de c\u00f3digos duplicados. Heran\u00e7a em Orienta\u00e7\u00e3o [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[54],"tags":[],"class_list":["post-396","post","type-post","status-publish","format-standard","hentry","category-php"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Heran\u00e7a no PHP 5<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Heran\u00e7a no PHP 5\" \/>\n<meta property=\"og:description\" content=\"A utiliza\u00e7\u00e3o do paradigma orientado a objetos nos permite criar projetos de forma mais organizada, mas um de seus principais benef\u00edcios \u00e9 o reuso. A possibilidade de reutilizar partes de c\u00f3digos j\u00e1 escritos antes, nos dando mais agilidade no desenvolvimento de aplica\u00e7\u00f5es, e sem a necessidade de termos trechos de c\u00f3digos duplicados. Heran\u00e7a em Orienta\u00e7\u00e3o [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5\" \/>\n<meta property=\"og:site_name\" content=\"KADUNEW\" \/>\n<meta property=\"article:published_time\" content=\"2009-09-03T14:08:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2009-09-17T16:03:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.kadunew.com\/blog\/wp-content\/uploads\/2009\/08\/diagrama_pessoa_funcionario1.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"222\" \/>\n\t<meta property=\"og:image:height\" content=\"390\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Kadu Oliveira\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kadu Oliveira\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5\",\"url\":\"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5\",\"name\":\"Heran\u00e7a no PHP 5\",\"isPartOf\":{\"@id\":\"https:\/\/www.kadunew.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.kadunew.com\/blog\/wp-content\/uploads\/2009\/08\/diagrama_pessoa_funcionario1.gif\",\"datePublished\":\"2009-09-03T14:08:40+00:00\",\"dateModified\":\"2009-09-17T16:03:40+00:00\",\"author\":{\"@id\":\"https:\/\/www.kadunew.com\/blog\/#\/schema\/person\/07b2297c4825efbd1e9f2a1018926b05\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5#primaryimage\",\"url\":\"https:\/\/www.kadunew.com\/blog\/wp-content\/uploads\/2009\/08\/diagrama_pessoa_funcionario1.gif\",\"contentUrl\":\"https:\/\/www.kadunew.com\/blog\/wp-content\/uploads\/2009\/08\/diagrama_pessoa_funcionario1.gif\",\"width\":\"222\",\"height\":\"390\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.kadunew.com\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP\",\"item\":\"https:\/\/www.kadunew.com\/blog\/category\/php\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Heran\u00e7a no PHP 5\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.kadunew.com\/blog\/#website\",\"url\":\"https:\/\/www.kadunew.com\/blog\/\",\"name\":\"KADUNEW\",\"description\":\"Artigos sobre Front-End e Programa\u00e7\u00e3o web\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.kadunew.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.kadunew.com\/blog\/#\/schema\/person\/07b2297c4825efbd1e9f2a1018926b05\",\"name\":\"Kadu Oliveira\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.kadunew.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/780660fded589936b30467c54c99d51a?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/780660fded589936b30467c54c99d51a?s=96&r=g\",\"caption\":\"Kadu Oliveira\"},\"sameAs\":[\"https:\/\/www.kadunew.com\/blog\"],\"url\":\"https:\/\/www.kadunew.com\/blog\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Heran\u00e7a no PHP 5","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:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5","og_locale":"pt_BR","og_type":"article","og_title":"Heran\u00e7a no PHP 5","og_description":"A utiliza\u00e7\u00e3o do paradigma orientado a objetos nos permite criar projetos de forma mais organizada, mas um de seus principais benef\u00edcios \u00e9 o reuso. A possibilidade de reutilizar partes de c\u00f3digos j\u00e1 escritos antes, nos dando mais agilidade no desenvolvimento de aplica\u00e7\u00f5es, e sem a necessidade de termos trechos de c\u00f3digos duplicados. Heran\u00e7a em Orienta\u00e7\u00e3o [&hellip;]","og_url":"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5","og_site_name":"KADUNEW","article_published_time":"2009-09-03T14:08:40+00:00","article_modified_time":"2009-09-17T16:03:40+00:00","og_image":[{"width":222,"height":390,"url":"https:\/\/www.kadunew.com\/blog\/wp-content\/uploads\/2009\/08\/diagrama_pessoa_funcionario1.gif","type":"image\/gif"}],"author":"Kadu Oliveira","twitter_misc":{"Escrito por":"Kadu Oliveira","Est. tempo de leitura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5","url":"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5","name":"Heran\u00e7a no PHP 5","isPartOf":{"@id":"https:\/\/www.kadunew.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5#primaryimage"},"image":{"@id":"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5#primaryimage"},"thumbnailUrl":"https:\/\/www.kadunew.com\/blog\/wp-content\/uploads\/2009\/08\/diagrama_pessoa_funcionario1.gif","datePublished":"2009-09-03T14:08:40+00:00","dateModified":"2009-09-17T16:03:40+00:00","author":{"@id":"https:\/\/www.kadunew.com\/blog\/#\/schema\/person\/07b2297c4825efbd1e9f2a1018926b05"},"breadcrumb":{"@id":"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5#primaryimage","url":"https:\/\/www.kadunew.com\/blog\/wp-content\/uploads\/2009\/08\/diagrama_pessoa_funcionario1.gif","contentUrl":"https:\/\/www.kadunew.com\/blog\/wp-content\/uploads\/2009\/08\/diagrama_pessoa_funcionario1.gif","width":"222","height":"390"},{"@type":"BreadcrumbList","@id":"https:\/\/www.kadunew.com\/blog\/php\/heranca-no-php-5#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.kadunew.com\/blog"},{"@type":"ListItem","position":2,"name":"PHP","item":"https:\/\/www.kadunew.com\/blog\/category\/php"},{"@type":"ListItem","position":3,"name":"Heran\u00e7a no PHP 5"}]},{"@type":"WebSite","@id":"https:\/\/www.kadunew.com\/blog\/#website","url":"https:\/\/www.kadunew.com\/blog\/","name":"KADUNEW","description":"Artigos sobre Front-End e Programa\u00e7\u00e3o web","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.kadunew.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.kadunew.com\/blog\/#\/schema\/person\/07b2297c4825efbd1e9f2a1018926b05","name":"Kadu Oliveira","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.kadunew.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/780660fded589936b30467c54c99d51a?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/780660fded589936b30467c54c99d51a?s=96&r=g","caption":"Kadu Oliveira"},"sameAs":["https:\/\/www.kadunew.com\/blog"],"url":"https:\/\/www.kadunew.com\/blog\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/posts\/396"}],"collection":[{"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/comments?post=396"}],"version-history":[{"count":6,"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/posts\/396\/revisions"}],"predecessor-version":[{"id":401,"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/posts\/396\/revisions\/401"}],"wp:attachment":[{"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/media?parent=396"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/categories?post=396"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/tags?post=396"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}