{"id":2309,"date":"2016-02-21T19:36:17","date_gmt":"2016-02-21T18:36:17","guid":{"rendered":"http:\/\/karstieltopia.com\/?p=2309"},"modified":"2016-02-21T19:48:00","modified_gmt":"2016-02-21T18:48:00","slug":"java-y-poo","status":"publish","type":"post","link":"http:\/\/karstieltopia.com\/programacion\/java\/java-y-poo\/","title":{"rendered":"Java y POO"},"content":{"rendered":"

Despu\u00e9s de que hayas lanzado tu primer hechizo de programaci\u00f3n y ver como el Hola Mundo<\/a> aparec\u00eda de la nada delante de tus ojos, es el momento de aprender algunas cosas importantes. La primera de ellas es saber que relaci\u00f3n hay entre Java y POO (Programaci\u00f3n Orientada a Objetos).
\n\"Una
\n<\/p>\n

Java es un lenguaje orientado a objetos (si lo recuerdas, hemos hablamos un poco sobre ello aqu\u00ed<\/a>). \u00bfQu\u00e9 significa? B\u00e1sicamente es un paradigma de programaci\u00f3n. Tambi\u00e9n existen otros paradigmas como pueden ser la programaci\u00f3n funcional, orientada a aspectos, etc., pero aqu\u00ed solo nos vamos a preocupar sobre Java y\u00a0POO.<\/p>\n

Y como ante todo hay que ser honesto, lo primero que dir\u00e9 es que no voy a hablar mucho sobre este tema. Ten\u00e9is montones y montones de enlaces y libros donde se explica exhaustivamente lo que es la programaci\u00f3n orientada a objetos, como por ejemplo la Wikipedia<\/a>. Pero de todas maneras lo que s\u00ed que vamos a intentar es entender que es conceptualmente y ver como se relaciona con Java.<\/p>\n

B\u00e1sicamente todo en Java son objetos (por lo menos ahora, al principio hab\u00eda unos tipos de datos llamados primitivas que eran un caso raro). Estos objetos son implementacines de clases.<\/p>\n

\u00bfQu\u00e9 son clases? Una clase es una representaci\u00f3n de algo. Puedes tener una clase llamada fruta y que represente una fruta como si fuera un diagrama. Pero si lo que quieres es comerte una fruta, no podr\u00e1s con el diagrama (o s\u00ed si te gusta el papel, claro), sino que necesitar\u00edas una fruta real y eso ser\u00eda el objeto.<\/p>\n

Un objeto es la implementaci\u00f3n de una clase. Puedes plante\u00e1rtelo como si una clase fuera la idea y el objeto la realidad. En una clase puedes definir una serie de propiedades y puedes definir las acciones que puedes hacer con ellas.<\/p>\n

Por ejemplo, puedes tener una propiedad que sea el color y un m\u00e9todo para saber que color es. En Java ser\u00eda algo como lo siguiente:<\/p>\n

class Fruta {\r\n    private String color;\r\n    \r\n    public String getColor () {\r\n        return color;\r\n    }\r\n}<\/pre>\n

Bien, aqu\u00ed vemos que tenemos una clase llamada Fruta. Eso significa que tenemos una cosa imaginaria llamada Fruta. Y podemos ver que dentro tiene dos cosas; la primera:<\/p>\n

private String color;<\/pre>\n

Eso es la definici\u00f3n de una propiedad. Ya hablaremos en futuras entradas sobre que significa private y String pero aqu\u00ed lo importante es que veas como se ha definido una variable (una variable es algo que tiene un valor).<\/p>\n

Y la segunda cosa es:<\/p>\n

public String getColor () {\r\n    return color;\r\n}<\/pre>\n

Eso es la definici\u00f3n de un m\u00e9todo, que es una acci\u00f3n de algo que se puede hacer dentro de una clase Fruta. En este caso, le est\u00e1s diciendo a alguien cu\u00e1l es el color de la fruta.<\/p>\n

Hasta aqu\u00ed tienes el “esqueleto” de la fruta, pero no puedes hacer nada con ella porque, como hemos dicho antes, es imaginaria. Si quieres utilizar esta clase, necesitas invocar un objeto de esta clase. Esto lo puedes imaginar como coger el diagrama y construirla (y s\u00ed, nunca mejor dicho, porque invocar\u00e1s al constructor de la clase, pero de esto ya hablaremos). Para invocar un objeto de esta clase, solo tienes que hacer lo siguiente:<\/p>\n

Fruta f = new Fruta();<\/pre>\n

Vale, sigue pareciendo magia negra. Pero esto lo ver\u00e1s un mont\u00f3n de veces y se volver\u00e1 muy com\u00fan para ti. B\u00e1sicamente solo est\u00e1s diciendo que tu quieres tener un objeto llamado “f” que sea del tipo Fruta y para eso necesitas usar el comando “new”.<\/p>\n

Por ahora es suficiente. M\u00e1s o menos ahora deber\u00edas saber cu\u00e1l es la relaci\u00f3n entre Java y POO y que significa conceptualmente la programaci\u00f3n orientada a objetos.<\/p>\n","protected":false},"excerpt":{"rendered":"

Despu\u00e9s de que hayas lanzado tu primer hechizo de programaci\u00f3n y ver como el Hola Mundo aparec\u00eda de la nada delante de tus ojos, es el momento de aprender algunas cosas importantes. La primera de ellas es saber que relaci\u00f3n hay entre Java y POO (Programaci\u00f3n Orientada a Objetos).<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[22],"tags":[958,957,956],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"yoast_head":"\nJava y POO - Karstieltopia<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/karstieltopia.com\/programacion\/java\/java-y-poo\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java y POO - Karstieltopia\" \/>\n<meta property=\"og:description\" content=\"Despu\u00e9s de que hayas lanzado tu primer hechizo de programaci\u00f3n y ver como el Hola Mundo aparec\u00eda de la nada delante de tus ojos, es el momento de aprender algunas cosas importantes. La primera de ellas es saber que relaci\u00f3n hay entre Java y POO (Programaci\u00f3n Orientada a Objetos).\" \/>\n<meta property=\"og:url\" content=\"http:\/\/karstieltopia.com\/programacion\/java\/java-y-poo\/\" \/>\n<meta property=\"og:site_name\" content=\"Karstieltopia\" \/>\n<meta property=\"article:published_time\" content=\"2016-02-21T18:36:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-02-21T18:48:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/karstieltopia.com\/wp-content\/uploads\/2016\/02\/fruit-300x226.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary\" \/>\n<meta name=\"twitter:creator\" content=\"@karstiel\" \/>\n<meta name=\"twitter:site\" content=\"@karstiel\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"http:\/\/karstieltopia.com\/#website\",\"url\":\"http:\/\/karstieltopia.com\/\",\"name\":\"Karstieltopia\",\"description\":\"Programaci\\u00f3n, tecnolog\\u00eda y a\\u00f1adidos\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"http:\/\/karstieltopia.com\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"es\"},{\"@type\":\"ImageObject\",\"@id\":\"http:\/\/karstieltopia.com\/programacion\/java\/java-y-poo\/#primaryimage\",\"inLanguage\":\"es\",\"url\":\"https:\/\/i2.wp.com\/karstieltopia.com\/wp-content\/uploads\/2016\/02\/fruit.jpg?fit=500%2C377\",\"width\":500,\"height\":377,\"caption\":\"Una fruta como una clase\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/karstieltopia.com\/programacion\/java\/java-y-poo\/#webpage\",\"url\":\"http:\/\/karstieltopia.com\/programacion\/java\/java-y-poo\/\",\"name\":\"Java y POO - Karstieltopia\",\"isPartOf\":{\"@id\":\"http:\/\/karstieltopia.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/karstieltopia.com\/programacion\/java\/java-y-poo\/#primaryimage\"},\"datePublished\":\"2016-02-21T18:36:17+00:00\",\"dateModified\":\"2016-02-21T18:48:00+00:00\",\"author\":{\"@id\":\"http:\/\/karstieltopia.com\/#\/schema\/person\/3d09a55c38c7c00e78c41fa3f71a6e75\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/karstieltopia.com\/programacion\/java\/java-y-poo\/\"]}]},{\"@type\":\"Person\",\"@id\":\"http:\/\/karstieltopia.com\/#\/schema\/person\/3d09a55c38c7c00e78c41fa3f71a6e75\",\"name\":\"karstiel\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6AuIG-Bf","_links":{"self":[{"href":"http:\/\/karstieltopia.com\/wp-json\/wp\/v2\/posts\/2309"}],"collection":[{"href":"http:\/\/karstieltopia.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/karstieltopia.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/karstieltopia.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/karstieltopia.com\/wp-json\/wp\/v2\/comments?post=2309"}],"version-history":[{"count":2,"href":"http:\/\/karstieltopia.com\/wp-json\/wp\/v2\/posts\/2309\/revisions"}],"predecessor-version":[{"id":2315,"href":"http:\/\/karstieltopia.com\/wp-json\/wp\/v2\/posts\/2309\/revisions\/2315"}],"wp:attachment":[{"href":"http:\/\/karstieltopia.com\/wp-json\/wp\/v2\/media?parent=2309"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/karstieltopia.com\/wp-json\/wp\/v2\/categories?post=2309"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/karstieltopia.com\/wp-json\/wp\/v2\/tags?post=2309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}