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
Which is incorrect with respect to separating php code and html?
Is ruby on rails php?
How to download file in php?
What is framework in php?
What is string function sql?
What is PECL?
What is the use of mysql_real_escape_string() function?
Can we use include ("xyz.php") two times in a php page "index.php"?
What is the difference between for and foreach loop in php?
What is the purpose of the '.frm' file extension? What do thes file contain?
How many types of arrays are there in php?
Explain PHP?
What is class extend in php?
What is empty () in php?
Which have the fastest execution between mysql_fetch_array() and mysql_fetch_assoc()