Abstraction & Encapsulation

Yesterday I saw the video in Lynda that the professor suggested us where there are defined some basic concepts of Object-Oriented Programming. There were two special elements that are in the list of Mastery topics: abstraction and encapsulation. These two are essential in understanding the functionality of a class, and therefore how are they built.

The first one, abstraction is the action of focusing on the essentials, and discarding what is unimportant or irrelevant. Abstraction is having the most general idea about something without entering in details, centering in the essential qualities of this idea. One clear example could be the idea of a banana: the most general idea of the banana includes color, shape, and maybe flavor. The attributes that are unimportant when thinking about a banana are probably chemical concepts like density, acidity, and what it is made of.

The other element, encapsulation is referred to the action of not only putting the attributes and methods in one same place (a class), but protecting them. The basic ‘law’ of an OOP is that an object must hide all its information except from the data that is absolutely necessary to expose. This action of encapsulating the attributes of an object is useful because it reduces dependencies that many parts of the program may have in just one class or one tiny part of the program.

I would continue seeing the suggested videos in Lynda and posting here about them.

Objects, methods & attributes

Well, in order to accomplish the goal of mastering the several topics that I should know by the end of the course, I saw a video in Youtube of a guy that has a channel named “Today’s IT”. This video called “Objects, methods, attributes and classes” explains the definitions of objects, methods and attributes (the first mastery topic of the semester). I learned that an object is pretty much everything: numbers, letters, strings, variables, etc. In a more adequate definition, an object is everything that has two characteristics: an state and a behavior. In real life the state of an object is the real-time condition in which it is: color, name, turn on, turn of, shape. As well, the behavior of an object is the stuff that it can perform: turning on, turning of, receive messages, talk, increase volume. In object-oriented programming this two states are called attributes (or fields) and methods respectively. An attribute is the description of an object, while the method is the things that an object can do. This video helped me a lot to understand these concepts because this guy uses many real life comparisons, so the explanation is clearer. 

Here I leave the video. Hope this help other of my classmates 🙂

Hello World

HelloWorld

Yesterday I carried out (without any problems) my first project in Eclipse: the multi-famous “Hello World” project. It is a simple code that print the message “Hello world!” at the Eclipse platform. The real challenge was synchronizing the Eclipse project with Github. It took me an entire life! Although there is a guide in Eclipse to synchronize a project in Github, the guide is not entirely clear specially in the step where you need to create a public key in Git Bash. After a number of failed attempts, I finally created my public key and inserted it in my Github account, and after that my synchronizing attempt was at last completed :’).

This process recalled to my head that time when I was trying to install Netbeans IDE because a Java IDK was needed. And my damned computer didn’t allowed the installation, so I needed to make some changes in the system… But anyway, that’s the way machines are.

Eclipse

Today I downloaded Eclipse in my machine; it wasn’t difficult because in the past I had downloaded Netbeans IDE that required the installation of a JDK (Java Development Kit) so there was no problem installing and launching this new IDE. As our teacher told us, Eclipse is a monster, a real player in the coding area that’s why I’m really excited of testing this new toy…. I really have a lot of expectations due to my teammates and I are cooking the best project ever made by Tec Students!

eclipse_by_divinechancellor
Google image by divine chancellor http://img05.deviantart.net/a371/i/2009/020/a/d/eclipse_by_divinechancellor.png shared under Reuse License Terms.