2 Computer Programming Module 12

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

MODULE 12 – REVIEW: ACTIVITY-DRIVEN TOPICS

Pre-test: Hard Coding: As the instruction stated, create a sample program on these certain output on your one-
whole sheet of paper: (10 points each)

Output 1 (Note: You need to create an input program, not by default):

Grades:

English: 85
Science: 80
Math: 75
Social Sciences: 90
ICT: 95
MAPEH: 77
Religious Education: 80

GWA: 83

Output 2 (Note: you need to create an input program, not by default):

Welcome to MyShop

Categories:

1 – Phones
2 – Laptops
3 – Phone Screen Protectors
4 – Computers
5 – Keyboards
6 – Mice

Enter Selection: 2

Phones:

1 – Samsung
2 – Huawei
3 – Vivo
4 – Oppo
5 – iPhone

Enter Selection: 5

iPhone:

(you can put any details on these) …

Enter Selection: 5

Price: iPhone XS Max: P 65,000

Enter Payment: 63,000

Sorry, you have insufficient funds. Please enter another amount.

Enter Payment: 65,000

Thank you for purchasing!


MODULE 12 – REVIEW: ACTIVITY-DRIVEN TOPICS

Lesson 1 – Review: Activity-driven Topics:

Review 1 – Enums

An enum is a special "class" that represents a group of constants (unchangeable variables,


like final variables).

To create an enum, use the enum keyword (instead of class or interface), and separate the constants with
a comma. Note that they should be in uppercase letters:

Enum inside a class

You can also have an enum inside a class:

Enum in a Switch Statement


MODULE 12 – REVIEW: ACTIVITY-DRIVEN TOPICS

Enums are often used in switch statements to check for corresponding values:

Loop Through an Enum

The enum type has a values() method, which returns an array of all enum constants. This method is
useful when you want to loop through the constants of an enum:

Difference between Enums and Classes


MODULE 12 – REVIEW: ACTIVITY-DRIVEN TOPICS

An enum can, just like a class, have attributes and methods. The only difference is that enum constants
are public, static and final (unchangeable - cannot be overridden).

An enum cannot be used to create objects, and it cannot extend other classes (but it can implement
interfaces).

Why And When To Use Enums?

Use enums when you have values that you know aren't going to change, like month days, days, colors,
deck of cards, etc.

Lesson 2 - public static void main

In Java programs, the point from where the program starts its execution or simply the entry point of Java
programs is the main() method. Hence, it is one of the most important methods of Java and having proper
understanding of it is very important.

Explanation:

Every word in the public static void main statement has got a meaning to the JVM.

1. Public: It is an Access modifier, which specifies from where and who can access the method. Making
the main() method public makes it globally available. It is made public so that JVM can invoke it from
outside the class as it is not present in the current class.

2. Static: It is a keyword which is when associated with a method, makes it a class related method.
The main() method is static so that JVM can invoke it without instantiating the class. This also saves the
MODULE 12 – REVIEW: ACTIVITY-DRIVEN TOPICS

unnecessary wastage of memory which would have been used by the object declared only for calling
the main() method by the JVM.

3. Void: It is a keyword and used to specify that a method doesn’t return anything. As main() method
doesn’t return anything, its return type is void. As soon as the main() method terminates, the java
program terminates too. Hence, it doesn’t make any sense to return from main() method as JVM can’t
do anything with the return value of it.

4. main: It is the name of Java main method. It is the identifier that the JVM looks for as the starting point
of the java program. It’s not a keyword.

5. String[] args: It stores Java command line arguments and is an array of type java.lang.String class.


Here, the name of the String array is args but it is not fixed and user can use any name in place of it.

Apart from the above mentioned signature of main, you could use public static void main(String
args[]) or public static void main(String… args) to call the main function in java. The main method is called
if it’s formal parameter matches that of an array of Strings.

Review 2 – Interfaces and Inheritance


MODULE 12 – REVIEW: ACTIVITY-DRIVEN TOPICS

An interface is a completely "abstract class" that is used to group related methods with empty bodies:

To access the interface methods, the interface must be "implemented" (kinda like inherited) by another class
with the implements keyword (instead of extends). The body of the interface method is provided by the
"implement" class:

Notes on Interfaces:

 Like abstract classes, interfaces cannot be used to create objects (in the example above, it is not
possible to create an "Animal" object in the MyMainClass)
 Interface methods do not have a body - the body is provided by the "implement" class
 On implementation of an interface, you must override all of its methods
MODULE 12 – REVIEW: ACTIVITY-DRIVEN TOPICS

 Interface methods are by default abstract and public


 Interface attributes are by default public, static and final
 An interface cannot contain a constructor (as it cannot be used to create objects)

Why And When To Use Interfaces?

1) To achieve security - hide certain details and only show the important details of an object (interface).

2) Java does not support "multiple inheritance" (a class can only inherit from one superclass). However, it can
be achieved with interfaces, because the class can implement multiple interfaces. Note: To implement multiple
interfaces, separate them with a comma (see example below).

Java Inheritance (Subclass and Superclass)

In Java, it is possible to inherit attributes and methods from one class to another. We group the "inheritance
concept" into two categories:

 subclass (child) - the class that inherits from another class


 superclass (parent) - the class being inherited from

To inherit from a class, use the extends keyword.

In the example below, the Car class (subclass) inherits the attributes and methods from the Vehicle class
(superclass):

Did you notice the protected modifier in Vehicle?

We set the brand attribute in Vehicle to a protected access modifier. If it was set to private, the Car class would
not be able to access it.

Why And When To Use "Inheritance"?

- It is useful for code reusability: reuse attributes and methods of an existing class when you create a new class.

Tip: Also take a look at the next chapter, Polymorphism, which uses inherited methods to perform different
tasks.
MODULE 12 – REVIEW: ACTIVITY-DRIVEN TOPICS

Review 2 – Introduction to Object-oriented Programming

OOP stands for Object-Oriented Programming.

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.

Object-oriented programming has several advantages over procedural programming:

 OOP is faster and easier to execute


 OOP provides a clear structure for the programs
 OOP helps to keep the Java code DRY "Don't Repeat Yourself", and makes the code easier to maintain,
modify and debug
 OOP makes it possible to create full reusable applications with less code and shorter development time

Tip: The "Don't Repeat Yourself" (DRY) principle is about reducing the repetition of code. You should extract
out the codes that are common for the application, and place them at a single place and reuse them instead of
repeating it.

Java - What are Classes and Objects?


MODULE 12 – REVIEW: ACTIVITY-DRIVEN TOPICS

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:

Let us learn about the different characteristics of an Object-Oriented Programming language:


MODULE 12 – REVIEW: ACTIVITY-DRIVEN TOPICS

1. Polymorphism: Polymorphism refers to the ability of OOPs programming languages to differentiate


between entities with the same name efficiently. This is done by Java with the help of the signature and
declaration of these entities.

Example:

Polymorphism in Java are mainly of 2 types:

 Overloading in Java
 Overriding in Java

2. Inheritance: Inheritance is an important pillar of OOP(Object Oriented Programming). It is the


mechanism in java by which one class is allow to inherit the features(fields and methods) of another
class.

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.

The keyword used for inheritance is extends.


MODULE 12 – REVIEW: ACTIVITY-DRIVEN TOPICS

Syntax:

3. Encapsulation: Encapsulation is defined as the wrapping up of data under a single unit. It is the


mechanism that binds together code and the data it manipulates. Another way to think about
encapsulation is, it is a protective shield that prevents the data from being accessed by the code outside
this shield.

 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:

 Modifiers: A class can be public or has default access (Refer this for details).


 Class name: The name should begin with a initial letter (capitalized by convention).
 Superclass(if any): The name of the class’s parent (superclass), if any, preceded by the keyword
extends. A class can only extend (subclass) one parent.
 Interfaces(if any): A comma-separated list of interfaces implemented by the class, if any, preceded by
the keyword implements. A class can implement more than one interface.
 Body: The class body surrounded by braces, { }.

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:

 State : It is represented by attributes of an object. It also reflects the properties of an object.


 Behavior : It is represented by methods of an object. It also reflects the response of an object with other
objects.
 Identity : It gives a unique name to an object and enables one object to interact with other objects.
MODULE 12 – REVIEW: ACTIVITY-DRIVEN TOPICS

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

In general, method declarations has six components:

 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 12 – REVIEW: ACTIVITY-DRIVEN TOPICS

Evaluation: Using DCoder App, create a program using conditional statements: (Note: Make sure to
record your code using Screen recorder in your phone, if you have, and upload the video on the group
page comments on this topic.

Output 1:

XXX
XXX
XXX
XXX
XXX
XXX
XXX

XXX
XXXXXXXXXXX
XXX XXX
XXX
XXX
XXX
XXX XXX
XXXXXXXXXXX
XXX

XXXXXXXXXXXX
XXXXXXXXXXXX
XXXX
XXXX
XXXX
XXXX
XXXX

Bibliography/References:

https://www.w3schools.com/java/java_interface.asp
https://www.w3schools.com/java/java_inheritance.asp
https://www.w3schools.com/java/java_oop.asp
https://www.geeksforgeeks.org/object-oriented-programming-oops-concept-in-java/

You might also like