Top Banner
Focused more for interview Perspective and Easy Understanding
27
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Oops

Focused more for interview Perspective and Easy Understanding

Page 2: Oops

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.

Page 3: Oops

Code ReusabilityEnables to model real world objectEasy ModificationEasy MaintenanceMore Flexible

Page 4: Oops

Defines an Abstract thing of a thing (i.e. Object)

Explaining its BehaviorA user-defined data structure that

groups properties and methods.Class doesn’t occupies memory.Class is a definition

Abstract classes are classes that can have no instances

Page 5: Oops

A Single entity Which holds Data and Method.

It’s Structure.Should be understandable by a non-

Programmer DOG(Class)

Color, Shape(Characteristic)

Bark, Pee, Run

(Behaviors)

Members

Abstract characteristics of a thing

Fields - _ColorProperties - Color

Fields - _ColorProperties - Color

Page 6: Oops

Specify Class NameDeclare Data membersDeclare MethodsDefine the Processing

Page 7: Oops

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.

Page 8: Oops

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.

Page 9: Oops

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 de-allocating 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.

Page 10: Oops
Page 11: Oops

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.

Page 12: Oops

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.

Page 13: Oops

A particular Instance of a Class Objects are the building blocks of OOP Represent real world things in an

abstract way Commonly defined as variables or data

structures that encapsulate behavior and data in a programmed unit

The objects will all act as independent units in their own right, and they will be responsible for carrying out a certain process

Page 14: Oops

Object identity: Every object is unique and can be

differentiated from other objects. Each time and object is created (instantiated) the object identity is defined.

Object behavior: What the object can do. In OOP, methods

work as functions that define the set of actions that the object can do.

Object state: The data stored within the object at any

given moment. In OOP, fields, constants, and properties define the state of an object.

Page 15: Oops

InheritanceAbstractionPolymorphismEncapsulationEvent

Page 16: Oops

Is like inheriting the abstract characteristics from other class - It is a kind of hierarchy

Base Class will be inherited to derived class is a way to form new classes using classes

that have already been defined is-a relationships represent a hierarchy

between classes of objects

Use: Reuse of Code – uses the attributes of the base

class Extensibility – Has it’s own Attributes .Net Inheritance Concepts

March 15, 2004

Brian Berejik

Matt Jackson

Vinnie Alwani

Page 17: Oops

Simple / SingleMultilevelHierarchicalMultipleHybrid

Page 18: Oops

Superclass: Parent classSubclass: Child classBase class: Parent classDerived class: Child class

Page 19: Oops

Is like inheriting from more than one base class.

.Net do not allow. But using Multiple interface inheritance this can be achieved.

Page 20: Oops

Information Hiding Visibility to the methods and not to the

fields E.g. A Report designer for a

programmer Packs the data and Method and

protects from external tampering Exposing only the details that are

relevant: the public interface Improves Security

Page 21: Oops

Protected cName as stringProtected Function ChangeName(NewName)    Me.cName = NewNameEnd Function

Page 22: Oops

As we cannot hide entire object we give access to some specific part of data.

Conceptual boundaries of an object Focuses on the essential characteristics

of an object a named entity made up of selected

attributes and behavior specific to a particular usage of the originating entity

Improves SecurityFor example see notes below

Page 23: Oops

One entity existing in multiple formsBehavior depends on the type of

dataSame message to diff objects results

in different behaviorLinked to inheritance and assures

that derived class to override the implementation of parents methods.

Page 24: Oops

Class Employee    Function PayEmployee()       PayEmployee = Hours * HourlyRate    End Function

Class CommissionedEmployee    Inherits Employee    Overrides Function PayEmployee()       PayEmployee = BasePay + Commissions    End Function

Page 25: Oops

Upcasting Casting an object of any type to another

type which is above it in the inheritance hierarchy.

Downcasting Casting an object of any type to another

type which is below it in the inheritance hierarchy.

Example

Sealed ClassWhen applied to a class, the sealed modifier

prevents other classes from inheriting from it.

Page 26: Oops

static classes and static methods are used to create data and functions that can be accessed without creating an instance of the class.

class CompanyInfo {    public string GetCompanyName() { return "CompanyName"; }    public string GetComAddress() { return "ComAddress"; }

  These methods do not need to be attached to a

specific instance of the class. Therefore, instead of creating unnecessary instances of this class, you can declare it as a static class, like this:

static class CompanyInfo {  public static string GetCompanyName() {return "CompanyName";}  public static string GetComAddress() {return "ComAddress";}

Page 27: Oops

www.c-sharpcorner.comwww.csharpcorner.com 2www.kuro5hin.orgwww.informit.comwww.forums.asp.netwww.developerfusion.comwww.msdn.microsoft.com