Answer Posted / rstv
Abstract classes are classes that contain one or more
abstract methods. An abstract method is a method that is
declared, but contains no implementation. Abstract classes
may not be instantiated, and require subclasses to provide
implementations for the abstract methods. Let's look at an
example of an abstract class, and an abstract method.
Suppose we were modeling the behavior of animals, by
creating a class hierachy that started with a base class
called Animal. Animals are capable of doing different
things like flying, digging and walking, but there are some
common operations as well like eating and sleeping. Some
common operations are performed by all animals, but in a
different way as well. When an operation is performed in a
different way, it is a good candidate for an abstract
method (forcing subclasses to provide a custom
implementation). Let's look at a very primitive Animal base
class, which defines an abstract method for making a sound
(such as a dog barking, a cow mooing, or a pig oinking).
public abstract Animal
{
public void eat(Food food)
{
// do something with food....
}
public void sleep(int hours)
{
try
{
// 1000 milliseconds * 60 seconds * 60
minutes * hours
Thread.sleep ( 1000 * 60 * 60 * hours);
}
catch (InterruptedException ie) { /* ignore */ }
}
public abstract void makeNoise();
}
Note that the abstract keyword is used to denote both an
abstract method, and an abstract class. Now, any animal
that wants to be instantiated (like a dog or cow) must
implement the makeNoise method - otherwise it is impossible
to create an instance of that class. Let's look at a Dog
and Cow subclass that extends the Animal class.
public Dog extends Animal
{
public void makeNoise() { System.out.println ("Bark!
Bark!"); }
}
public Cow extends Animal
{
public void makeNoise() { System.out.println ("Moo!
Moo!"); }
}
| Is This Answer Correct ? | 2 Yes | 1 No |
Post New Answer View All Answers
Is php procedural or oop?
What is laravel php?
How do I escape data before storing it into the database?
Explain the differences between get and post methods?
Tell me what is pear?
What are soundex() and metaphone() functions in php?
Tell me will a comparison of an integer 12 and a string "13" work in php?
Is php front end or back end?
What is the difference between substr() and strstr()?
How to compare two strings with comparison operators in php?
Why sessions are used in php?
Is empty array php?
What are regular expressions in programming?
Does php have a future?
What is the method to register a variable into a session?