Ch 12 - Abstract Classes Flashcards
20 Questions
100 Views

Ch 12 - Abstract Classes Flashcards

Created by
@WellConnectedComputerArt

Questions and Answers

What is an abstract class?

A class that guides the design of subclasses but cannot itself be instantiated as an object; specifies how the subclass must be implemented.

An abstract class can be instantiated as an object.

False

Will a program that catalogs the types of trees in a forest benefit from an abstract class?

False

A program that catalogs trees with a different size estimation for each species will benefit from an abstract class.

<p>True</p> Signup and view all the answers

A program that maintains a grocery list will benefit from an abstract class.

<p>False</p> Signup and view all the answers

What is a concrete class?

<p>A class that is not abstract, and hence can be instantiated.</p> Signup and view all the answers

What is an abstract method?

<p>A method that each subclass must implement to be a concrete class.</p> Signup and view all the answers

If a subclass does not implement an abstract method, then the subclass must also be defined as abstract.

<p>True</p> Signup and view all the answers

An abstract class cannot be instantiated because it has missing methods.

<p>True</p> Signup and view all the answers

An abstract class can include both method signatures for abstract methods and complete code for non-abstract methods.

<p>True</p> Signup and view all the answers

UML uses italics to denote abstract classes.

<p>True</p> Signup and view all the answers

Abstract classes provide compile-time polymorphism.

<p>False</p> Signup and view all the answers

What is an interface?

<p>Specifies a set of methods that an implementing class must override and define.</p> Signup and view all the answers

A class can implement multiple interfaces.

<p>True</p> Signup and view all the answers

What keyword is needed to create an interface?

<p>interface</p> Signup and view all the answers

How do you implement an interface in a class?

<p>public class Circle extends Shape implements Serializable, DrawableInterface {}</p> Signup and view all the answers

What is an abstract class?

<p>A class that provides default code to other classes that use that class.</p> Signup and view all the answers

What do interfaces define?

<p>Interfaces can define public static final fields and don't restrict a class' inheritance.</p> Signup and view all the answers

What is an abstract class's role regarding default variables?

<p>A class that provides default variables.</p> Signup and view all the answers

What does an interface provide?

<p>A class that provides an API that must be implemented and no other code.</p> Signup and view all the answers

Study Notes

Abstract Classes

  • An abstract class serves as a blueprint for subclasses, guiding their design but cannot be instantiated.
  • Subclasses are required to implement the behaviors specified by the abstract class to become concrete classes.
  • Abstract classes may include both abstract methods (without implementation) and concrete methods (with implementation).
  • If a subclass does not implement all abstract methods, it must also be declared as abstract.

Characteristics of Abstract Classes

  • Cannot create objects of abstract classes due to missing methods.
  • Denoted in UML using italics to distinguish them from concrete classes.
  • Facilitate runtime polymorphism, allowing for abstract method calls without knowing the concrete class implementing them.

Concrete Classes

  • A concrete class is one that is fully implemented and can be instantiated as an object.

Abstract Methods

  • An abstract method is a method defined in an abstract class that subclasses must implement to be concrete.

Interfaces

  • An interface defines a set of methods that must be implemented by any implementing class.
  • A class can implement multiple interfaces, enabling multiple inheritance of type.
  • Use the keyword interface in the class definition to create an interface.
  • Interfaces provide default variables and static final fields without restricting subclass inheritance.
  • Unlike abstract classes, interfaces do not provide any implementation code.

Use Cases for Abstract Classes and Interfaces

  • Abstract classes are suitable when you want to provide default code and properties for subclasses.
  • Interfaces are best used when you want to enforce certain behaviors across unrelated classes.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Description

Test your understanding of abstract classes in programming with these flashcards. This quiz focuses on key definitions and true/false questions that help clarify the concept of abstract classes and their role in object-oriented design. Perfect for anyone studying object-oriented programming concepts.

More Quizzes Like This

Use Quizgecko on...
Browser
Browser