2 Computer Programming Module 9
2 Computer Programming Module 9
Pre-test: Find the error: As the instruction stated, find the error and write the correct line on a one-half cross-
wised sheet of paper or element for the said program stated below: (10 points)
class Lamp {
boolean isOn
void turnOn {
// initialize variable with value true
isOn = true;
System.out.println("Light on? " isOn);
void turnOff() {;
// initialize variable with value false
isOn = false;
System.out.println("Light on? " + isOn)
}
}
Procedural programming is about writing procedures or methods that perform operations on the data, while
object-oriented programming is about creating objects that contain both data and methods.
Classes and objects are the two main aspects of object-oriented programming.
Look at the following illustration to see the difference between class and objects:
Example:
Overloading in Java
Overriding in Java
Important terminology:
Super Class: The class whose features are inherited is known as superclass(or a base class or a parent
class).
Sub Class: The class that inherits the other class is known as subclass(or a derived class, extended class,
or child class). The subclass can add its own fields and methods in addition to the superclass fields and
methods.
Reusability: Inheritance supports the concept of “reusability”, i.e. when we want to create a new class
and there is already a class that includes some of the code that we want, we can derive our new class
from the existing class. By doing this, we are reusing the fields and methods of the existing class.
Syntax:
Technically in encapsulation, the variables or data of a class is hidden from any other class and can be
accessed only through any member function of own class in which they are declared.
As in encapsulation, the data in a class is hidden from other classes, so it is also known as data-hiding.
Encapsulation can be achieved by Declaring all the variables in the class as private and writing public
methods in the class to set and get the values of variables.
4. Abstraction: Data Abstraction is the property by virtue of which only the essential details are displayed
to the user.The trivial or the non-essentials units are not displayed to the user. Ex: A car is viewed as a
car rather than its individual components.
Data Abstraction may also be defined as the process of identifying only the required characteristics of an
object ignoring the irrelevant details. The properties and behaviours of an object differentiate it from other
objects of similar type and also help in classifying/grouping the objects.
Consider a real-life example of a man driving a car. The man only knows that pressing the accelerators will
increase the speed of car or applying brakes will stop the car but he does not know about how on pressing
the accelerator the speed is actually increasing, he does not know about the inner mechanism of the car or
the implementation of accelerator, brakes etc in the car. This is what abstraction is.
In java, abstraction is achieved by interfaces and abstract classes. We can achieve 100% abstraction using
interfaces.
5. Class: A class is a user defined blueprint or prototype from which objects are created. It represents the
set of properties or methods that are common to all objects of one type. In general, class declarations can
include these components, in order:
6. Object: It is a basic unit of Object Oriented Programming and represents the real life entities. A typical
Java program creates many objects, which as you know, interact by invoking methods. An object
consists of:
7. Method: A method is a collection of statements that perform some specific task and return result to the
caller. A method can perform some specific task without returning anything. Methods allow us
to reuse the code without retyping the code. In Java, every method must be part of some class which is
different from languages like C, C++ and Python.
Methods are time savers and help us to reuse the code without retyping the code.
Method Declaration
Access Modifier: Defines access type of the method i.e. from where it can be accessed in your
application. In Java, there 4 type of the access specifiers.
public: accessible in all class in your application.
protected: accessible within the package in which it is defined and in its subclass(es)(including
subclasses declared outside the package)
private: accessible only within the class in which it is defined.
default (declared/defined without using any modifier): accessible within same class and
package within which its class is defined.
The return type: The data type of the value returned by the method or void if does not return a value.
Method Name: the rules for field names apply to method names as well, but the convention is a little
different.
Parameter list: Comma separated list of the input parameters are defined, preceded with their data type,
within the enclosed parenthesis. If there are no parameters, you must use empty parentheses ().
Exception list: The exceptions you expect by the method can throw, you can specify these exception(s).
Method body: it is enclosed between braces. The code you need to be executed to perform your
intended operations.
8. Message Passing: Objects communicate with one another by sending and receiving information to each
other. A message for an object is a request for execution of a procedure and therefore will invoke a
function in the receiving object that generates the desired results. Message passing involves specifying
the name of the object, the name of the function and the information to be sent.
MODULE 9 - INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING
Evaluation: Find the error and code it: As the instruction stated, find the error and write the correct line on a
one-half cross-wised sheet of paper or element for the said program stated below, and code it using DCoder
app: (10 points)
class Lamp {
boolean isOn
void turnOn {
// initialize variable with value true
isOn = true;
System.out.println("Light on? " isOn);
void turnOff() {;
// initialize variable with value false
isOn = false;
System.out.println("Light on? " + isOn)
}
}
Some Notes:
1. Post-test will be recorded and the instructor will collect your answers.
2. Activities will also be recorded and the instructor will collect your exercises.
Bibliography/References:
https://www.w3schools.com/java/java_oop.asp
https://www.geeksforgeeks.org/object-oriented-programming-oops-concept-in-java/