July 1st, 2017
Just like constants in mathematics, C# defines special fields of classes called constants. Like their name hints, once declared and initialized, constants maintain their values, forbidding their further modification.
There are two types of constants:
- constants for which the value is set during the compilation (compile time constants)
- constants which have their value set during the execution (run-time constants)
Compile time constants are declared using the C# modifier const:
|
[<access_modifiers>] const <type> <name>; |
A secret not many C# programmers know is that compile time constants are static fields, even if they do not contain the static keyword, and the compiler forbids its usage in the declaration.… Read more
Tags: constants, static members, variables
Posted in Objects |
June 24th, 2017
In C# and .NET framework, there are two implementations of the concept of “class”, from the OOP point of view: classes and structures.
While we already know that classes are defined using the class keyword, structures are defined using the keyword struct.… Read more
Tags: class, object oriented programming, OOP, structures, value and reference types
Posted in Objects |
June 23rd, 2017
Generic methods, like generic classes, are parameterized (typified) methods, which we use when we cannot specify the type of the method’s parameters. Also like in the case of generic classes, the replacement of unknown types with specific types happens when the method is called.… Read more
Tags: functions, generic class, generic method, methods
Posted in Objects |
June 18th, 2017
Generic classes, also known as generic data types or simply generics, are classes of unknown type until they are instantiated to some specific type.
Because this concept is a bit harder to explain, I will first exemplify a specific case that will help you better understand it.… Read more
Tags: class, generic class, object oriented programming, objects, OOP
Posted in Objects |
June 9th, 2017
C# offers nested classes, which just like all the other nested programming concepts, implies a construct (class) defined inside the body of another construct (class). The class defined this way is called “inner class”, while the one which contains it, is called “outer class”.… Read more
Tags: class, inner class, nested classes, object oriented programming, objects, OOP
Posted in Objects |
May 18th, 2017
As we saw in the previous recent lessons, the usual way of communicating with a class is to create instances (copies) of it, and then use the resulting objects. In fact, that is the strong advantage of the classes – the ability to create copies that can be used and can be modified individually.… Read more
Tags: instantiation, object oriented programming, objects, OOP, singleton, static members
Posted in Objects |
May 14th, 2017
As their name suggests, access modifiers are some programming concepts that can alter the access level of something. In more complex words, access modifiers are reserved keywords which add information for the compiler, and the piece of code related to those modifiers.… Read more
Tags: access modifiers, encapsulation, object oriented programming, objects, OOP
Posted in Objects |
April 26th, 2017
I have explained a few times already that when we are dealing with objects, most of the times we are not working with the original class itself – the blueprint, but we are actually create copies of it called instances.… Read more
Tags: class, instantiation, new operator, object oriented programming, objects, OOP, operators
Posted in Objects |
April 25th, 2017
In object-oriented programming, when creating objects from given classes, it is sometimes necessary to call some special methods of those classes, known as a constructors.
Constructor of a class is a pseudo-method, which does not have a return type, has the name of the class and is called using the keyword new.… Read more
Tags: class, constructors, OOP
Posted in Objects |
April 23rd, 2017
In today’s lesson, I will talk about one of the previous lesson’s new concepts. The first subject on the list: fields and properties. According to our beloved MSDN, a property is a member that provides a flexible mechanism to read, write, or compute the value of a private field.… Read more
Tags: object oriented programming, OOP, properties
Posted in Objects |