Programación Orientada a Objetos en Java: Clases y objetos

Empezamos con la POO Programación Orientada a Objetos un tema que requiere cierta abstracción para poder enterder todos los conceptos al 100%.

Bien vamos a empezar con la abstracción e imagemos que tenemos un realizar una liga con varios equipo de fútbol en Java (podría ser cualquier otra cosa pero en este caso es un equipo de fútbol).

¿Que es una clase en Java?

Una vez sabemos que tenemos que crear un equipo de fútbol, necesitamos trabajar con clases. Las clases en Java nos sirven para hacer el molde/plantilla donde detallaremos las caracteristicas/propiedad y los métodos/comportamientos para posteriormente y gracias a dichas clases poder crear objetos.

Como supongo que lo de caracteristicas o propiedades y métodos no os ha quedado claro vamos a desmenuzarlo un poco más para facilitaros la digestión de estos conceptos.

¿Que contiene una clase en Java?

Un clase contiene:

    • Caracteristicas/propiedades/atributos: (son lo mismo pero con tres nombres dintitos) nos permiten crear datos para poder definir por ejemplo el nombre que tendrá el objeto, su altura, su posición en el caso del equipo de fútbol. Eso sí, el valor no se guardará en la clase como normal general a excepción de que sea común a todos los objetos. Sino que dicho valor se definirá en el objeto. Por decirlo así, la clase es la estrutura dodne definimos los tipos de datos y los nombres de las variables que definiremos en el objeto una vez instanciemos la clase.

  • Métodos o comportamientos: definien que puede hacer cada objeto. En el caso de un jugador de fútbol: correr, saltar, chutar…

Se suele decir método y no una función ya que aunque pueden parecer lo mismo el método se caracteriza por estar dentro de un objeto y la función no está dentro de ningún objeto.

Ejemplo de clase en Java. Creando nuestra primera clase:

Vamos a ver un ejemplo de una clase. Primeramente vamos a crear un nuevo proyecto con File > New Project con el nombre de ClasesYObjetos.

Y dentro del proyecto, creamos una nueva clase con File > New > Class

Con el nombre de Futbolista

Y nos quedará por tanto, el proyecto de la siguiente manera:

Añadiendole propiedades y métodos (contenido) a la clase

Bien una vez creada la clase, vamos a añadirle la información que queremos que tengan los fútbolistas. En este caso:

  • Propiedades o caracteristicas: nombreCompleto (String), altura (int), peso (int), pais (int), fechaNacimiento (String), dorsal (int) y posicion (String).
  • Métodos o comportamientos: uno que se llamé correr que diga “Corriendo va… (nombre del jugador)”  y otro que se llamé chutar que diga “Chuta y… ¡Gol!”.

¿Que es un objeto en Java?

El concepto de crear un objeto con una clase recibe el nombre de instanciar bueno en este caso instanciación. Por lo tanto, instanciar es crear un objeto (en este caso en concreto un jugador) a partir de una clase.


Instanciando clases en Java

Instanciar al primer jugador = crear objetos a partir de una clase

En este caso, en particular, tenemos dos archivos.java uno es el Main en el que vamos a realizar la instaciación y otro es el Jugador.java que tiene la clase Jugador.

Aunque también lo podríamos tener todo junto en el main. Las desventanjas de esta forma es una peor estructura en la organización de nuestro proyecto y por lo tanto siempre que tendremos las clases seperadas del Main (de la entrada a nuestro programa).

Creamos un objeto de tipo Jugador y se le asigna como nombre la variable Messi. Y mediante a new realizamos la invocación por eso se llama al proceso de crear un objeto invocar. Y al new lo acompañará la clase a ejecutar en este caso Jugador().

Accediendo a los valores por defecto de las caracteristicas de los objetos

Para acceder a los valores por defecto de las caracteristicas de los objetos, previamente necesitamos haber instanciado la clase para crear con ello un objeto.

Una vez creado el objeto y poniendo como por ejemplo el ejemplo que estamos realizando el nombre (en este caso Messi) se guarda en una variable y si escribimos en la consola Messi. podemos comprobar que tenemos todas las propiedades y métodos que hemos definido en la clase.

Antes de nada quiero avisar que si alguno de vosotros sabe de programación orientada a objetos posiblemente este pensando que esta no es la la mejor forma de llamar a los objetos. Y está en lo correcto, la forma correcta es con encapsulación lo veremos más adelante. Ya que ahora mismo, está es la mejor forma por el momento de empezar a ver para el potencial y la utilidad que tiene todo lo anterior (al menos por el momento). Y que le da sentido a trabajar con clases y objetos.

Para mostrar los valores como siempre hacemos un System.out.println.

Valores por defecto de las clases en Java:

Los valores por defecto dependerán del tipo de dato que definamos. Aquí los listamos para que os suenen:

  • Integer (int): 0
  • Byte: 0
  • Short: 0
  • Long: 0
  • Double: 0.0
  • Float: 0.0
  • Char \u0000
  • Boolean: false
  • Cadena de texto (String):null (que significa vacío).

Inicializando los valores de una clase en Java:

Como hemos visto, los valores por defecto por ejemplo de los Strings, son null y por ejemplo podemos querer que estos aparezcan como una cadena de texto vacía (“”). Los podemos inicializar en la clase y de está manera, se mostrarán como una cadena de texto vacía (“”) en vez de null.  Eso sí, es muy importante saber que solo podemos asignarle “” a los tipos de datos que pertenecen al grupo de las cadenas de texto (char, string). A los que pertenecen al grupo de los númericos, les podemos dar un valor diferente a 0 por ejemplo también. Además de establecer un valor por defecto para por ejemplo posicion y que sea no definida.

Como tenemos creado el jugador Messi, si ahora ejecutamos, al realizar la instancia de la clase para crear el objeto nos cogerá los valores que hemos establecido por defecto para todos los atributos de la clase.

Asignando valores a los objetos:

Bien ahora vamos a asignar (establecer un valor a una variable) con la información de todas las caracteristicas que hemos definido en la clase anteriormente y de nuestro jugador. Para ello, escribimos:

nombre del objeto = valor;

Sobretodo es importante asignar el valor antes de imprimir el valor (en el System.out.println) ya que sino como es programación estructurada y esto implicaque ejecuta sentencia a sentencia en el orden correspondiente.

45 comentarios

  1. rosemberg alfaro gutierrez

    26 abril, 2020 a las 23:50

    me gusta es interesante me gustaría ver mas

  2. JERRY JESÚS PEÑA MORALES

    19 julio, 2020 a las 15:04

    Gracias por el contenido

  3. Hi, I think your web site might be having internet browser compatibility issues.
    When I look at your web site in Safari, it looks fine however, if opening in Internet Explorer, it has some
    overlapping issues. I just wanted to provide you with
    a quick heads up! Aside from that, excellent website!

  4. My partner and I stumbled over here different website and thought I might as well check things
    out. I like what I see so i am just following you.
    Look forward to looking at your web page again.

  5. What’s up, of course this article is really fastidious and I have learned lot of things from it
    regarding blogging. thanks.

  6. My brother recommended I might like this blog.

    He was entirely right. This post actually made my
    day. You can not imagine simply how much time I had spent for this information! Thanks!

  7. Hello, this weekend is nice for me, since this point in time i am reading this impressive informative paragraph here at my house.

    Have a look at my website … Tundra Breeze Portable AC Reviews

  8. Deference to op, some wonderful information.

    my web blog – Keto Incinerate Review

  9. Thank you for the good writeup. It in fact was a amusement account it.
    Look advanced to far added agreeable from you!
    However, how can we communicate?

    my web-site Insights CBD

  10. Thank you so much with regard to giving everyone an update on this topic
    on your blog. Please be aware that if a brand-new post appears or in case
    any modifications occur with the current posting, I would want to consider reading a lot more and understanding how to make good usage of those
    techniques you reveal. Thanks for your time and consideration of other men and
    women by making your blog available.

    Here is my homepage; zwiazek-zawodowy-opiekunek.pl

  11. Woh I enjoy your blog posts, saved to favorites!

    Visit my website – Pure Keto Burn Pills

  12. Whoah this blog is fantastic i like reading your articles.

    Stay up the good work! You realize, a lot of
    persons are hunting round for this info, you can aid them greatly.

    My web page … Insights CBD Gummies

  13. As I web site possessor I believe the content matter here is rattling
    wonderful , appreciate it for your efforts. You should keep it up forever!

    Best of luck.

    My web blog Insights CBD Reviews

  14. Definitely believe that which you stated. Your favorite reason seemed to be on the internet the easiest thing to
    be aware of. I say to you, I definitely get irked while people consider worries
    that they just do not know about. You managed to
    hit the nail upon the top and defined out the whole thing without having side effect
    , people can take a signal. Will probably be back to get more.
    Thanks

    Also visit my webpage; Far East XL Review

  15. Hi to all, how is everything, I think every one is
    getting more from this web site, and your views are good designed for new visitors.

    my website – http://www.aniene.net

  16. Thank you for the auapicious writeuр. It in reaⅼity was a entertainment account it.
    Look compleх to more delivered agreeabⅼe from you!
    By the way, how can we communicate?

    Here is my weeb site … infonya disini

  17. I really like looking through and I think this website got
    some truly utilitarian stuff on it!

    Also visit my blog post: Optimum Keto Reviews

  18. This site is my intake, rattling great design and Perfect subject material.

    My web page – Molten Keto Pills

  19. I am incessantly thought about this, regards for posting.

    My page http://www.aniene.net

  20. I read this article fully regarding the difference
    of most up-to-date and preceding technologies, it’s amazing article.

    My webpage; Primal Testo XL Pills

  21. I am so happy to read this. This is the kind of manual that needs to be given and not the accidental misinformation that
    is at the other blogs. Appreciate your sharing this greatest doc.

    my site: GrownMD

  22. Hi my family member! I wish to say that this post is
    amazing, nice written and come with almost all significant infos.
    I’d like to peer more posts like this .

  23. What’s Taking place i am new to this, I stumbled upon this I’ve
    discovered It positively helpful and it has helped me out loads.
    I hope to give a contribution & help different users like its helped
    me. Good job.

  24. Thank you for sharing your info. I really appreciate your efforts and I will be waiting for your next post thanks once again.

  25. This is a topic that’s close to my heart… Thank you!
    Where are your contact details though?

  26. Hmm is anyone else experiencing problems with the pictures on this blog loading?
    I’m trying to determine if its a problem on my end or if it’s the blog.
    Any feedback would be greatly appreciated.

    Visit my site :: http://www.aniene.net

  27. I went over this web site and I think you have a lot
    of good info, saved to bookmarks (:.

    My web-site http://www.hltkd.tw

  28. I really wanted to compose a remark to appreciate you for all of the pleasant guides you are giving here.

    My extensive internet research has at the end been rewarded with reputable strategies to
    write about with my companions. I would declare that we readers actually are undeniably lucky
    to exist in a fantastic community with so many marvellous professionals with insightful secrets.
    I feel truly privileged to have encountered your entire website page and look
    forward to really more excellent moments reading
    here. Thanks once more for a lot of things.

    Visit my blog post – NeoBio Keto

  29. This is really interesting, You are a very skilled blogger.
    I have joined your feed and look forward to seeking more of your wonderful post.
    Also, I have shared your website in my social networks!

    Feel free to visit my site … bibliodigital.escoladocaminho.com

  30. I definitely wanted to construct a simple remark to thank you
    for all of the magnificent tactics you are
    sharing at this website. My rather long internet investigation has now been rewarded with professional
    details to go over with my contacts. I would repeat that many of us website visitors
    are unequivocally endowed to exist in a wonderful community with so many
    awesome individuals with useful strategies.
    I feel quite privileged to have discovered the web site and look
    forward to some more entertaining times reading here. Thank you once again for everything.

    Also visit my web-site: Neo Bio Health Keto

  31. That is really fascinating, You’re an excessively professional blogger.
    I’ve joined your feed and stay up for seeking extra of your
    great post. Additionally, I have shared your web site in my
    social networks!

    Have a look at my web page – Far East XL Pills

  32. What i don’t understood is in reality how you’re not really a
    lot more well-preferred than you may be now. You are very intelligent.

    You already know thus considerably when it comes to this topic, made
    me in my view imagine it from numerous numerous angles.

    Its like women and men aren’t interested until it’s something to accomplish with Lady gaga!

    Your personal stuffs outstanding. Always take care of it up!

    My page :: Xtreme Keto Slim Reviews

  33. Νice replieѕ іn return of this query wіth
    real arguments and telling everything on thee topic οf
    that.

    My blog post; service dog training near me

  34. When I initially commented I clicked the “Notify me when new comments are added” checkbox and now each time a comment is added I get four
    e-mails with the same comment. Is there any
    way you can remove people from that service? Thanks a lot!

  35. Thank you for the sensible critique. Me & my neighbor were just preparing to do a little research
    about this. We got a grab a book from our area library but I think I learned more clear from this post.
    I’m very glad to see such excellent information being
    shared freely out there.

    Here is my web site http://www.1stanapa.ru

  36. Hello there! I know this is kinda off topic but I was wondering if you knew where I could find a captcha plugin for my comment
    form? I’m using the same blog platform as yours and I’m having difficulty finding one?
    Thanks a lot!

    Feel free to visit my web-site :: Grown MD CBD

  37. Every weekend i used to go to see this web page, as i wish
    for enjoyment, since this this web site conations in fact good funny data too.

    Also visit my web page :: Natural Burn Keto Reviews

  38. I all the time used to read post in news papers but now as I am a user of web thus from now I am
    using net for content, thanks to web.

    Feel free to surf to my web page Far East XL Reviews

  39. Hi, i think that i saw you visited my site thus i came to “return the favor”.I am attempting to find things to improve my site!I suppose its ok to use some
    of your ideas!!

  40. What’s up everybody, here every one is sharing such experience, so it’s pleasant to read this website, and I used to pay a quick visit this weblog all the time.

    My homepage :: Captive Skin

  41. Wow! Thank you! I constantly wanted to write
    on my blog something like that. Can I take a part of your post to my blog?

    My web site – Arctic Box Air Cooler Review

  42. This design is wicked! You definitely know how to keep a reader entertained.

    Between your wit and your videos, I was almost moved to start my
    own blog (well, almost…HaHa!) Great job.
    I really enjoyed what you had to say, and more than that, how you presented it.
    Too cool!

    Also visit my site … comptine.biz

  43. Good day! This is kind of off topic but I need some
    guidance from an established blog. Is it very difficult to set up
    your own blog? I’m not very techincal but I can figure things out pretty fast.
    I’m thinking about creating my own but I’m not sure where to start.
    Do you have any tips or suggestions? Thank you

    Also visit my web site Maxatin Male Enhancement

  44. What i don’t understood is in fact how you are now not really a lot more neatly-appreciated than you may be
    right now. You’re so intelligent. You already know therefore considerably in terms of this subject, made me individually consider it from so many various angles.
    Its like women and men are not involved unless it is one thing
    to do with Girl gaga! Your individual stuffs excellent.
    All the time maintain it up!

    Review my web page http://www.meteoritegarden.com/userinfo.php?uid=3039326

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

La Ley 34/2002 nos obliga a avisarte de que usamos cookies propias y de terceros con objetivos estadísticos y de sesión y para mostrarte la 'publi' que nos da de comer. Tranquilo, este mensaje solo sale una vez. Más información

Java desde 0 comunica a los usuarios, a través de este aviso, que puede utilizar cookies cuando el usuario navega por las diferentes pantallas y páginas del sitio. Durante el uso de nuestra página Web usted acepta y autoriza expresamente el uso de cookies, de acuerdo con nuestra Política de Privacidad. Este sitio web utiliza las siguientes cookies propias: - Cookies de sesión, para garantizar que los usuarios que escriban comentarios en el blog sean humanos y no aplicaciones automatizadas. De esta forma se combate el spam. Este sitio web utiliza las siguientes cookies de terceros: - Google AdManager y AdSense: Utiliza cookies para mejorar la publicidad. Entre otros fines, suelen utilizarse para segmentarla según el contenido que sea relevante para los usuarios o su ubicación, mejorar los informes de rendimiento de las campañas y evitar mostrar anuncios que los usuarios ya hayan visto. Las cookies no contienen información personal identificable. Consulta cómo utiliza Google la información de sitios web o aplicaciones. y cómo bloquear determinados anuncios. - Google Analytics: Almacena cookies para poder elaborar estadísticas sobre el tráfico y volumen de visitas de esta web. Al utilizar este sitio web está consintiendo el tratamiento de información acerca de usted por Google. Por tanto, el ejercicio de cualquier derecho en este sentido deberá hacerlo comunicando directamente con Google. - Redes sociales: Cada red social utiliza sus propias cookies para que usted pueda pinchar en botones del tipo Me gusta o Compartir.

Cerrar