In: Computer Science
Describe how you would develop object-oriented
features of Java for the Quiz program developed in the Programming
Assignments. In particular, describe how the program could use each
of the following: class variables, instance variables, inheritance,
polymorphism, abstract classes, "this", "super", interfaces, and
event listeners.
Your Discussion should be at least 250 words in
length, but not more than 750 words. Once you’ve completed your
initial post, be sure to respond to the posts of at least 3 of your
classmates.
class variables: Class variables also known as static variables are declared with the static keyword in a class, but outside a method, constructor or a block.Static variables can be accessed by calling with the class name ClassName.VariableName.
instance variables: Instance variables are declared in a class, but outside a method, constructor or any block.Instance variables can be accessed directly by calling the variable name inside the class. However, within static methods (when instance variables are given accessibility), they should be called using the fully qualified name. ObjectReference.VariableName.
Example:
public class VariableExample{ int myVariable; static int data = 50; public static void main(String args[]){ VariableExample obj = new VariableExample(); System.out.println("Value of instance variable: "+obj.myVariable); System.out.println("Value of static variable: "+VariableExample.data); } }
Output:
Value of instance variable: 0 Value of static variable: 50
inheritance: An important feature of object-oriented programs is inheritance—the ability to create classes that share the attributes and methods of existing classes, but with more specific features. Inheritance is mainly used for code reusability.
polymorphism: Java Polymorphism is one of easy concept to understand. Polymorphism definition is that Poly means many and morphos means forms. It describes the feature of languages that allows the same word or symbol to be interpreted correctly in different situations based on the context. There are two types of Polymorphism available in Java. For example, in English, the verb “run” means different things if you use it with “a footrace,” a “business,” or “a computer.” You understand the meaning of “run” based on the other words used with it.
abstract classes: A class that is declared using “abstract” keyword is known as abstract class.
"this": In many object-oriented programming languages, this is a variable that is used in instance methods to refer to the object on which they are working.
"super":The super keyword refers to superclass objects. It is used to call superclass methods, and to access the superclass constructor. The most common use of the super keyword is to eliminate the confusion between superclasses and subclasses that have methods with the same name.
interfaces: An interface is a programming structure/syntax that allows the computer to enforce certain properties on an object.
event listeners:The Event listener represent the interfaces responsible to handle events. Java provides us various Event listener classes but we will discuss those which are more frequently used. Every method of an event listener method has a single argument as an object which is subclass of EventObject class