Basic Concepts of Object Oriented Programming

Object Oriented ProgrammingObject-oriented programming (OOP) is an object-oriented programming to. All data and functions in this paradigm is wrapped in classes or objects. Any object can receive messages, process data, and send messages to other objects.

Object-oriented data model is said to be able to provide more flexibility, ease of changing the program, and is used extensively in large-scale software engineering. Furthermore, support OOP claim that OOP is easier to learn for beginners than the previous approach, and the OOP approach is more easily developed and maintained.


Terms in OOP:

  • Class

    Is set on the definition of data and functions in a unit for a particular purpose. For example 'class of dogs' is a unit consisting of definitions of data and functions that refer to the various kinds of behavioral / derivative of the dog. A class is the basis of modularity and structure in object-oriented programming. A class typically should be recognized by a non-programmer despite the problems associated with the existing domain, and the code contained in a class should be (relatively) is independent and independent (as the code is used if not using OOP). With modularity, the structure of a program will be linked to aspects of the problem to be resolved through the program. This way will simplify the mapping of the problem to a program or vice versa.

  • Object

    Wrap the data and functions together into a unit in a computer program, the object is the basis of modularity and structure in an object-oriented computer program.

  • Abstraction

    The ability of a program to bypass aspects of information processed by it, namely the ability to focus on the core. Every object in the system serves as a model of "actors" who can do the job abstracts, reports and changes in circumstances, and communicate with other objects in the system, without revealing how this excess is applied. Processes, functions or methods can also be made abstract, and some of the techniques used to develop a pengabstrakan.

  • Encapsulation

    Ensure the user of an object can not change the state of an object in a way that is not feasible; only method in the object that is given permission to access the situation. Each object access interface that specifies how other objects can interact with it. Other objects will not know and rely on the representation of the object.

  • Polymorphism via messaging

    Does not depend on calling subroutines, object-oriented languages can send messages; particular method associated with a message delivery depends on the specific object in which the beam is sent. For example, if a bird receive "fast motion", he will move his wings and fly. When the lion received the same message, he will move his feet and ran. They said a similar message, but in accordance with the ability of these animals. This is called polymorphism as a variable in the program tungal can hold a variety of different types of objects while the program runs, and the text of the same program can call several different methods at different times in the same calling. This is contrary to achieve polymorphism functional language through the use of first-class functions.

By using OOP then in solving a problem we do not see how to resolve the problem (structured) but what objects can do the problem solving. For example, suppose we have a department that has a manager, secretary, administrative officers and other data. Suppose the manager wants to get data from administrative bag then the manager does not have to take it directly but can be ordered administrative officer to take it. In the case of a manager does not have to know how to take the data but the manager can get the data through objects administrative officer. So to solve a problem with the collaboration between objects that exist because each object has its own job description.

One of the supporters of OOP programming is the Java programming language.

Java is one of the OOP programming languages. This language was originally created by James Gosling. These languages are adopting syntactic contained in C and C ++ but with syntax simpler object model and support a lower-level routines are minimal. Java based applications are generally compiled into p-code (bytecode) and can run on different Java Virtual Machine (JVM). Java is a programming language that is general / non-specific (general purpose), and is specifically designed to utilize minimal implementation dependencies as possible. Because the functionality that allows Java applications can run on several different operating system platforms are different, also known as java slogan, "Write once, run anywhere". Currently Java is a programming language used most popular and widely used in the development of various types of software applications or web-based applications.

The initial version of Java in 1996 had a release version so called Java Version 1.0. Java version includes many standard package starting to be developed in the next version:

java.lang: Appropriation basic elements of the class. Appropriation input and output classes, including the use of the file.

java.util: Appropriation complementary class of data structures such as class and class calendar class. The Allocation class TCP / IP, which allows to communicate with other computers using TCP / IP network.

java.awt: The base class for applications with user interface (GUI)

java.applet: The base class application interface to be implemented on a web browser.


The excess of Java programming language includes:

  • Multiplatform

    The main advantage of Java is that it can run on multiple platforms / operating system computer, in accordance with the principle of write once, run anywhere. With these advantages programmers simply write a Java program and compiled (modified, from a human understandable language into machine language / bytecode) once and the results can be run on multiple platforms without changes. This will allow a java based program done on the Linux operating system but run well on Microsoft Windows. Supported platforms today are Microsoft Windows, Linux, Mac OS and Sun Solaris. Penyebanya are each operating system uses its own program (which can be downloaded from the Java website) to meninterpretasikan bytecode.

  • OOP (Object Oriented Programming)

  • The Complete Class Library

    Java is famous for its completeness library / library (a collection of programs that are included in the java programming) is very easy to use by programmers to build applications. Completeness of these libraries coupled with the presence of a large community of Java that continuously create new libraries to cover all the needs of application development.

  • C++ Style

    Has a syntax like C ++ so that attract many programmers C ++ to move to Java. Currently Java users very much, mostly C ++ programmers moving to Java. Universities in the United States also began to migrate to teach Java to the new students because it is more easily understood by students and can be useful also for those who are not majoring in computer.

  • Automatic garbage collection

    Having a facility setting memory usage so that the programmer does not need to perform direct memory settings (as in the C ++ language is widely spoken).

Besides having the advantages as described above, the Java programming also has the disadvantages, such as:

  • Write once, run anywhere

    There are still some things that are not compatible between the platform with other platforms. For J2SE, for example SWT-AWT bridge which until now does not work on Mac OS X.

  • Easy on decompilation

    Decompilation is the reversal of the code so into the source code. This is possible because the code is so Java bytecode that holds many of the attributes of high-level languages, such as names of classes, methods, and data types. The same thing happened to Microsoft, the .NET Platform. Thus, the algorithm used the program would be more difficult to hide and easily hijacked / reverse-engineer.

  • Use a lot of memory

    Memory usage for Java-based program is much larger than the previous generation of high-level languages such as C / C ++ and Pascal (more specifically, Delphi and Object Pascal). This usually is not a problem for those who use the latest technology (as low growing trend of on-board memory), but it becomes a problem for those who are still struggling with the engine computer more than 4 years old.

Many people have made an IDE (Integrated Development Environment) for Java. That are popular today (July 2006), among others:

  • Dr Java, a free program developed by the University of Race, United States
  • BlueJ, a free program developed by Monash University, Australia
  • NetBeans (open source- Common Development and Distribution License (CDDL))
  • NetBeans sponsored by Sun Microsystems, and the current version has a Matisse, a GUI editor that public opinion is the best.
  • Eclipse JDT (open source- Eclipse Public License). Eclipse is made of cooperation between member firms 'Eclipse Foundation' (along with other individuals). Many big names who participated in 'Eclipse Foundation', including IBM, BEA, Intel, Nokia, Borland. Eclipse competes directly with the Netbeans IDE. Additional plugins in Eclipse far more numerous and varied than other IDEs.
  • IntelliJ IDEA (commercial, free 30-day trial)
  • Oracle JDeveloper (free)
  • Xinox JCreator (there are paid and free versions)
  • JCreator is written in C / C ++ so it is faster (and uses less memory) than most of the IDE.

You are here: Home Public Media Computer and Information Technology Basic Concepts of Object Oriented Programming
STP Homepage

Solo Techno Park (STP) area is officially under the management of the local city Government of Surakarta.