All Flashcards
How is inheritance applied in GUI frameworks?
GUI elements like buttons and text fields inherit from a base Widget or Component class, allowing them to share common properties and behaviors.
How is polymorphism used in database systems?
Different database drivers can be used through a common interface, allowing the application to interact with various database systems without code changes.
How is inheritance used in game development?
Game entities like characters and items inherit from a base Entity class, enabling code reuse and a structured game world.
How is polymorphism applied in collections?
Collections can store objects of different classes that implement a common interface, allowing for generic operations on diverse data types.
How is inheritance used in operating systems?
Different types of filesystems (e.g., FAT32, NTFS) can inherit from a base Filesystem class, providing a common interface for file operations.
How is polymorphism used in plugin architectures?
Plugins can implement a common interface, allowing the main application to interact with them in a uniform way, regardless of their specific implementation.
How is inheritance used in web frameworks?
Controllers and models can inherit from base classes, providing a structured way to handle web requests and data management.
How is polymorphism used in device drivers?
Different device drivers can implement a common interface, allowing the operating system to interact with them in a uniform way, regardless of the specific hardware.
How is inheritance used in scientific simulations?
Different types of particles or agents can inherit from a base Particle class, allowing for complex simulations with diverse behaviors.
How is polymorphism used in financial modeling?
Different types of financial instruments (e.g., stocks, bonds) can implement a common interface for valuation and risk analysis.
What is the output of the following code?
java
class Animal {
public void makeSound() {
System.out.println("Generic animal sound");
}
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Woof!");
}
}
Animal myAnimal = new Dog();
myAnimal.makeSound();
Woof!
Identify the error in the following code:
java
class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
}
class Dog extends Animal {
public Dog(String breed) {
this.breed = breed;
}
}
The Dog class constructor does not call the superclass constructor, and it attempts to access a non-existent 'breed' variable. It should call super(name) and accept the name parameter.
What is the output of the following code?
java
class Vehicle {
int speed = 0;
public void accelerate() {
speed += 10;
}
}
class Car extends Vehicle {
@Override
public void accelerate() {
super.accelerate();
speed += 20;
}
}
Car myCar = new Car();
myCar.accelerate();
System.out.println(myCar.speed);
30
Identify the error in the following code:
java
class Parent {
public void display() {
System.out.println("Parent class");
}
}
class Child extends Parent {
public int display() {
System.out.println("Child class");
return 0;
}
}
The Child class's display() method has a different return type (int) than the Parent class's display() method (void), making it an invalid override.
What is the output of the following code?
java
class A {
public String toString() {
return "Class A";
}
}
class B extends A {
public String toString() {
return "Class B";
}
}
A obj = new B();
System.out.println(obj.toString());
Class B
Identify the error in the following code:
java
class Animal {
public void eat() {
System.out.println("Animal eats");
}
}
class Dog extends Animal {
private void eat() {
System.out.println("Dog eats");
}
}
The Dog class's eat() method is private, making it not an override but a new method, and potentially inaccessible.
What is the output of the following code?
java
class Parent {
public void method() {
System.out.println("Parent");
}
}
class Child extends Parent {
public void method(int x) {
System.out.println("Child");
}
}
Parent p = new Child();
p.method();
Parent
Identify the error in the following code:
java
class Vehicle {}
class Car extends Vehicle {}
Car c = new Vehicle();
Cannot assign a Vehicle object to a Car reference. A superclass cannot be assigned to a subclass reference.
What is the output of the following code?
java
class Base {
public void print() {
System.out.println("Base");
}
}
class Derived extends Base {
public void print() {
System.out.println("Derived");
}
}
Base b = new Derived();
b.print();
Derived
Identify the error in the following code:
java
class Animal {
public Animal(String name) {
this.name = name;
}
String name;
}
class Dog extends Animal {
public void bark() {
System.out.println("Woof!");
}
}
Dog class must call the superclass constructor Animal(String name) using super(name) in its constructor.
What are the differences between inheritance and polymorphism?
Inheritance: Establishes an IS-A relationship, allowing subclasses to inherit properties and behaviors. Polymorphism: Allows objects of different classes to be treated as objects of a common type.
What are the differences between method overriding and method overloading?
Overriding: Subclass provides a specific implementation of a method already defined in its superclass. Overloading: Defining multiple methods in the same class with the same name but different parameters.
What are the differences between a superclass and a subclass?
Superclass: A general class that other classes inherit from. Subclass: A specialized class that inherits properties and behaviors from a superclass.
What are the differences between Dynamic Typing and Static Typing?
Dynamic Typing: The method a computer executes on an object is determined by the run-time type of the object, not the declared type. Static Typing: The method a computer executes on an object is determined by the declared type of the object.
What are the differences between 'extends' and 'super' keywords?
'extends': Used to inherit from a superclass. 'super': Used to call the constructor or methods of the superclass from within the subclass.
What are the differences between an Interface and an Abstract Class?
Interface: Specifies a contract for classes to implement. Abstract Class: Provides a partial implementation and can contain both abstract and concrete methods.
What are the differences between Composition and Inheritance?
Composition: Building complex objects by combining simpler objects. Inheritance: Creating new classes based on existing classes, inheriting their properties and behaviors.
What are the differences between overriding and hiding a method?
Overriding: A subclass method with the same signature as a superclass method. Hiding: A subclass method with the same signature as a static superclass method.
What are the differences between early and late binding?
Early Binding: Method call is resolved at compile time. Late Binding: Method call is resolved at runtime (used in polymorphism).
What are the differences between IS-A and HAS-A relationships?
IS-A: Represents inheritance (e.g., a Dog IS-A Animal). HAS-A: Represents composition (e.g., a Car HAS-A Engine).