Skip to main content

Hot Java


In an effort to understand object oriented programming more deeply and learn a new programming language, I've decided to learn JAVA!!! Thank you to Congnizant for sponsoring a Java bootcamp with UNC Charlotte's continuing education program.

Java helped me solidify a few concepts that were previously lost on me. Let's get into it, here are the four major Java OOP principles . Abstraction is about hiding implementation details from the user while only sharing the functionality. For instance, we can mark a method as abstract and each child class that extends the  parent will have to provide it's own implementation. We also have the option to use interfaces with or without default methods. Next up is Encapsulation, or data hiding. When we create a class, we should make variables private from other classes and public getters and setters. Think of an ATM. There is a public interface that we interact with but private implementation behind the scenes that does all the work and handles sensitive data.  Inheritance is the ability that allows Java classes to be derived from other classes. The parent is called the superclass and derivatives are subclasses. Subclasses inherit all public and protected fields and methods from their superclasses.  The Object class is the mother of all classes in Java. Java has a single inheritance model, meaning that every class has only one direct superclass. Finally we'll look at polymorphism.  Polymorphism means "many forms".  Java allows subclasses to define their own behaviors while sharing some of the same functionality of the superclass. You know if an object is polymorphic if it passes more than one "is-a" test. If Class Dog extends Animal. Dog is a Dog and an Animal. It's polymorphic.

My Java journey began with a quest to know just what OOP really means and how to best navigate.  Properly using these 4 principles will allow us to write fewer lines of code and maintain our code better.

Comments

Popular posts from this blog

Accessibility Is For Everyone

  Years ago, I attended a virtual conference sponsored by Microsoft where accessibility was the topic.  The idea was that we will all require some level of enhanced accessibility at some point in our lives, so we should design and build things for our future selves. Prior to this I had only thought of ADA compliant designs as a "ToDo" for others, though still a priority. I keep this new perspective with me and welcome opportunities to evangelize.  I recently found a website that stood out to me as real champion for accessibility. This site allows the visitor to dial in whichever option(s) they need and to variable degrees. Typically we'd have to rely on the browser or perhaps the operating system itself to specify, or in better scenarios search the page for accessibility options. Kudos to nc.gov  for making this easy to find and easy to use.

Why Do I Code?

I've been a paid technology professional for half a decade and this is not my first career. Why do I bother to learn new tech and torture myself with daunting task after daunting task? Well, the brain exercise is great and so is the ultimate sweet satisfaction of writing and deploying a thing that works. I love the alchemy of it all, to forge interactive material FROM NOTHING that can change how we behave is the closest thing to magic we have... other than real magic of course. The overwhelming truth here, is that I code to bring my ideas to life. I wanted to be able to communicate my "million dollar ideas" effectively and drive innovation. Here's an idea, what if we could harness the power of traffic, like wind or water? There may not be a pure software solution for that, but I feel like I need to put that one out there. The idea that motivated me to get into tech, though, is about connecting crowdfunding and publishing/royalty distribution. I called it SoundStock, n...