Вы находитесь на странице: 1из 3

Basic delegate An interesting and useful property of a delegate is that it does not know or care about the class

of the object that it references. Any object will do; all that matters is that the method's argument types and return type match the delegate's. This makes delegates perfectly suited for "anonymous" invocation. A delegate is a form of type-safe function used by the .NET Framework. Delegates specify a method to call and optionally an object to call the method on. or Shifting of work from one's control to another. delegate is keyword to make delegates in our program. Delegate is also work as class which has a base class Delegate (abstract class). Delegates are used to pass methods as arguments to other methods. In event handling its too difficult to have a person for every event differently:

Delegates have the following properties Delegates are similar to C++ function pointers, but are type safe. 1. 2. 3. Delegates allow methods to be passed as parameters. Delegates can be used to define callback methods. Delegates can be chained together; for example, multiple methods can be called on a single event.

=============================================================================== ================================== Summary The following article kicks off a three-part article series that will present definitions and samples for different Object-Oriented Programming concepts and its implementation in .NET. The first part will examine the concepts of classes,objects, and structures.The second part will examine the concepts of inheritance, abstraction, and polymorphism. The third and last part will examine the concepts of interface, multiple interface inheritance, collections, and overloading. Introduction Object-Oriented Programming (OOP) is a software development paradigm that suggests developers to split a program in building blocks known as objects. The OOP paradigm allows

developers to define the object's data, functions, and its relationship with other objects. Microsoft created the .NET Framework using OOP, and knowing this concepts has helped me to understand the .NET Framework and to design and develop better software components. The purpose of this article is to describe the basic OOP concepts using real world scenarios and to provide some code samples that demonstrate how to work with OOP and .NET. Class The most common definition states that a class is a template for an object. Suppose that someone builds a paper pattern for a shirt. All the shirts done with the same paper pattern will be identical (same design, size, etc.). In this sample, the paper pattern is the class and the shirt is the object. To build the same exact shirt over and over, you need the paper pattern as a template. Another great example are house plans and blueprints. The plans and blueprints define the number of rooms, the size of the kitchen, the number of floors, and more. In this real world sample, the house plans and blueprints are the class and the house is the object. In OOP you program a class as a template for a specific object or groups ob objects that will always have the same features. Class members A class has different members, and developers in Microsoft suggest to program them in the following order: Namespace: The namespace is a keyword that defines a distinctive name or last name for the class. A namespace categorizes and organizes the library (assembly) where the class belongs and avoids collisions with classes that share the same name. Class declaration: Line of code where the class name and type are defined. Fields: Set of variables declared in a class block. Constants: Set of constants declared in a class block. Constructors: A method or group of methods that contains code to initialize the class. Properties: The set of descriptive data of an object. Events: Program responses that get fired after a user or application action. Methods: Set of functions of the class. Destructor: A method that is called when the class is destroyed. In managed code, the Garbage Collector is in charge of destroying objects; however, in some cases developers need to take extra actions when objects are being released, such as freeing handles or deallocating unmanaged objects. In .NET, there is no concept of deterministic destructors. The Garbage Collector will call the Finalize() method at a non-deterministic time while reclaiming memory for the application.

Access keywords Access keywords define the access to class members from the same class and from other classes. The most common access keywords are: Public: Allows access to the class member from any other class. Private: Allows access to the class member only in the same class. Protected: Allows access to the class member only within the same class and from inherited classes.

Internal: Allows access to the class member only in the same assembly. Protected internal: Allows access to the class member only within the same class, from inherited classes, and other classes in the same assembly. Static: Indicates that the member can be called without first instantiating the class.

Вам также может понравиться