Term
|
Definition
| Group of related properties, methods, and other members which are treated as a single unit or object. Can describe either restriction for an object's members, or facilitation of bundling data with methods operating on that data. |
|
|
Term
|
Definition
| The ability to create new classes based on existing classes. The derived class can be reused, extended, or modified. |
|
|
Term
|
Definition
| The ability to use multiple classes that can be used interchangeably, even though each class implements the same properties or methods in a different manner. |
|
|
Term
|
Definition
| Defines the type of an object. |
|
|
Term
|
Definition
| A usable instance of a class. |
|
|
Term
| What is instantiation of an object? |
|
Definition
| The act of creating the object is instantiation. |
|
|
Term
| What are structures (struct)? |
|
Definition
| A value typically used to encapsulate small groups of related variables. |
|
|
Term
| What type of information can a structure (struct) contain? |
|
Definition
| Can contain constructors, constants, fields, methods, properties, indexers, operators, events, and nested types. If you use all of these however, consider defining a class instead of a struct. |
|
|
Term
| What is a benefit of using a structure (struct) over a class? |
|
Definition
| If creating a large array of objects the struct has a smaller memory footprint. Classes implicitly inherit memory overhead from type Object. |
|
|
Term
|
Definition
| Can include properties that describe class data, methods that define behavior, and events that provide communication between different classes and objects. |
|
|
Term
| What are properties and fields? |
|
Definition
Fields and properties represent information within an object. Fields are like variables because that can be read or set directly. Properties have accessors and mutators.
|
|
|
Term
|
Definition
| An action that an object can perform. |
|
|
Term
| What are events, and what design pattern do events follow? |
|
Definition
| Events enable a class or object to notify other classes or objects when something of interest occurs. C# events follow the publish/subscribe pattern. |
|
|
Term
| What is the publish/subscribe design pattern? |
|
Definition
| Publishers or subscribers of messages programmatically only look at messages of interest. Publishers messages are characterized into classes without any knowledge of subscribers. These subscribers will express interest in one or more classes, and only recieve messages that are of interest without any knowledge of publishers. |
|
|
Term
|
Definition
| Classes defined within another class. These classes are private by default. |
|
|
Term
| What are access modifiers and access levels? |
|
Definition
| Access modifiers describe access level between other classes and assemblies (C#). |
|
|
Term
| What is a protected access modifier denote? |
|
Definition
| Access in same or derived class. |
|
|
Term
| What does the internal access modifier denote? |
|
Definition
| Access within same assembly. |
|
|
Term
| What does protected internal access modifier denote? |
|
Definition
| Access within same assembly or derived class. |
|
|
Term
| What are static classes and members? |
|
Definition
| Static classes and members can be accessed without an instantiation of a class. A member of the class is a property, procedure, or field that is shared by all instances of a class. |
|
|
Term
| What are anonymous types? |
|
Definition
| A "class" with no usable name and contains the properties you specify, the compiler generates class. |
|
|
Term
| What is a reference type? |
|
Definition
| A variable that contains the address of the location in memory where data is stored. Can reference class, interface, or delegate. |
|
|
Term
| What is a boxed variable? |
|
Definition
| A value type that is converted to type Object. |
|
|
Term
| What is an unboxed variable? |
|
Definition
| A variable of type Object that is converted to a value type. |
|
|
Term
|
Definition
| A reference type representing a sequence of zero or more unicode characters. |
|
|
Term
| How is a string different from other reference types? |
|
Definition
| boolean equivalence is evaluated by values within reference, rather than comparing the references between two strings. Strings are immutable, and the compiler creates new string references when a string changes (old string is marked for garbage collection). |
|
|
Term
| What is a verbatim string? What is it useful for? |
|
Definition
| Syntax: @"string contents"; Usefule for compiler options, sql queries, paths, or anything that requires much escaping. Double qoutes are escaped with another double quote. |
|
|
Term
| What is an abstract class? |
|
Definition
| A class that can be used as a base class and cannot be instantiated. |
|
|
Term
| What is useful about overriding members when using inheritance? |
|
Definition
| Changes bejavior of inherited members. Can define new implementation of the method, property, or event in derived class. |
|
|
Term
| What does the virtual modifier do when found in the base class? |
|
Definition
| Derived class can override member. |
|
|
Term
| What does the override modifier do when found in the derived class? |
|
Definition
| Is required when extending or modifying the abstract or virtual implementation of an inherited method, property, indexer, or event. |
|
|
Term
| What does the abstract modifier do when found in the base class? |
|
Definition
| Forces the implementation of member in derived classes. |
|
|
Term
| What is the new modifier do when found in the derived class? |
|
Definition
| Forces reimplementation of inherited member when virtual and abstract are not specified by that member's prototype. |
|
|
Term
|
Definition
| Defines a set of properties, methods, and events without any implementation. An interface represents a contract to be implemented. |
|
|
Term
|
Definition
| Classes, structures, interfaces that type parameters that define types of objects that they can store or use. |
|
|