Chapter 6 – Implementing Interfaces and Inheriting Classes Flashcards
What is a delegate?
A delegate is a type-safe method reference. It can be used to execute any method with a matching signature.
What is the difference between is and as operators?
The is operator returns true if an object can be cast to the type; otherwise, it returns
false. The as operator returns a reference to the object if an object can be cast to the type;
otherwise, it returns null.
How are a base class and a derived class related and how can the derived class access the base
class?
A derived class (or subclass) is a class that inherits from a base class (or superclass).
Inside a derived class, you use the base keyword to access the class that the subclass inherits
from.
What is an event?
An event is a field that is a delegate having the event keyword applied. The keyword
ensures that only += and -= are used; this safely combines multiple delegates without replacing
any existing event handlers.
Which keyword is used to prevent a class from being derived from or a method from being
overridden?
sealed.
Which keyword is used to prevent a class from being instantiated with the new keyword?
abstract.
Which keyword is used to allow a member to be overridden?
virtual.
What’s the difference between a destructor and a deconstruct method?
A destructor, also known as a finalizer, must be used to release resources owned by
the object. A deconstruct method is a feature of C# 7 or later that allows a complex object to
be broken down into smaller parts. It is especially useful when working with tuples.
What are the signatures of the constructors that all exceptions should have?
The signatures of the three constructors that all exceptions should have are shown
in the following list:
* A constructor with no parameters.
* A constructor with a string parameter, usually named message.
* A constructor with a string parameter, usually named message, and an Exception
parameter, usually named innerException.
What is an extension method, and how do you define one?
An extension method is a compiler trick that makes a static method of a static class
appear to be one of the members of another type. You define which type you want to extend
by prefixing the first parameter of that type in the method with the this keyword.