Sie sind auf Seite 1von 33

1. What is Encapsulation?

2. What is Inheritance?
3. What is abstract class? Can an abstract class contain non-abstract functions?
4. What is Polymorphism? Difference between compile-time and run-time
polymorphism?
5. What is function overloading and what is it used for?
6. What is the difference between Indexers and Properties?
7. Explain abstract, static and sealed modifiers?
8. What are various components of CLR?
9. What is the complete process from writing of program in IDE to the execution of
the program and what are the tools that come into picture?
10. What is Garbage Collector?
11. What is Object Promotion?
12. What are various generations of GC?
13. What is the difference between ‘new’ and ‘overrides’ keyword?
14. Define the ways by which the class can be prevented from being instantiated?
15. How to use alias with the namespace names?
16. What is virtual function in a class?
17. What is static class?
18. What is static member of class?
19. What is parameter array?
20. What is constant?
21. What is CLR?
22. What is MSIL?
23. What is CTS?
24. What is CLS?
25. How does code written in different languages get executed in .NET?
26. Explain security features implemented by CLR?
27. What is CAS?
28. What is an application domain?
29. What are generics?
30. What is ADO.NET?
31. What are main components of ADO.NET?
32. How ADO.NET works?
33. Which DataAdapters are available for use with different databases in
ADO.NET?
34. How to search the data in DataSet?
35. Explain “web.config” settings for exception management in ASP.NET?
36. Explain the concept of Web Application?
37. What is the difference between Server.Tranfer() and Response.Redirect() call?
38. What is smart navigation?
39. Which method is used to explicitly kill a user’s session?
40. What is EnableViewState property? Why should it be kept on or off?
41. What are the different modes for the session states in the web.config file?
42. Which two properties are on validation controls?
43. What are main components of ASP.NET?
44. What is the difference in code-inline and code-behind models?
45. What are the ways to manage state in ASP.NET application?
46. Explain the limitation and issues with the cookies?
47. Explain limitations and issues with Automatic SQL Server State Management?
48. What is the use of Server.MapPath() call?
49. What is connection pooling?
50. What is denormalization of database?
51. What is BulkCopy (bcp)? Where it is used?
52. What is Cross Join?
53. What is an assembly and assembly manifest?
54. Explain the information stored in assembly manifest?
55. What are the functions performed by assembly manifest?
56. Where are shared assemblies stored?
57. What are the ways to deploy an assembly into GAC?
58. How to set focus on control in ASP.NET?
59. How to set default button on web form?
60. What is a partial class?
61. What are the new features in ASP.NET 2.0?
62. What is the use if tree-view control in ASP.NET 2.0?
63. Explain rich data controls in ASP.NET 2.0?
64. What is the use of master pages?
65. Explain WebMethod attribute in ASP.NET web service?
66. What are the web-services in ASP.NET?
67. What is the use of SOAP?
68. What is WSDL and what are its major elements?
69. What is UDDI and its benefits?

Class

A user-defined data structure that groups properties and methods. Class doesn’t occupies
memory.

Object
Instance of Class is called object. An object is created in memory using keyword “new”.

Difference between Struct and Class


• Struct are Value type and are stored on stack, while Class are Reference type and
are stored on heap.
• Struct “do not support” inheritance, while class supports inheritance. However
struct can implements interface.
• Struct should be used when you want to use a small data structure, while Class is
better choice for complex data structure.
FAQs Collected from http://dng-oops.blogspot.com/

What is the difference between instantiating structures with and without using the
new keyword?
When a structure is instantiated using the new keyword, a constructor (no-argument or
custom, if provided) is called which initializes the fields in the structure. When a
structure is instantiated without using the new keyword, no constructor is called. Hence,
one has to explicitly initialize all the fields of the structure before using it when
instantiated without the new keyword.

Encapsulation
Wrapping up of data and function into a single unit is known as Encapsulation.

Properties
Attribute of object is called properties. Eg1:- A car has color as property.

Eg2:

private string m_Color;;

public string Color

{
get

return m_Color;

set

m_Color = value;

}
Car Maruti = new Car();
Maruti.Color= “White”;
Console.Write(Maruti.Color);

FAQs Collected from http://dng-oops.blogspot.com/

Isn't it better to make a field public than providing its property with both
set { } and get { } block? After all the property will allow the user to both
read and modify the field so why not use public field instead? Motivate your
answer

Not always! Properties are not just to provide access to the fields; rather, they are
supposed to provide controlled access to the fields of our class. As the state of the
class depends upon the values of its fields, using properties we can assure that no
invalid (or unacceptable) value is assigned to the fields.
Eg:

private int age;

public int Age

get

return age;

set

if(value <> 100)

//throw exception

else

age = value;

}
this Keyword

Each object has a reference “this” which points to itself.

Two uses of this keyword.

o Can be used to refer to the current object.

o It can also be used by one constructor to explicitly invoke another


constructor of the same class.

Eg1:

FAQs Collected from http://dng-oops.blogspot.com/

class Student

private string name;

private int age;

Student(string name, int age)

this.name = name;

this.age = age;

Eg2:

class Circle

double x,y,radius;

Circle(double x){
this(x,0,1);

Circle(double x, double y){

this(x,y,1);

Circle(double x, double y, double radius){

this.x = x;

this.y = y;

this.radius = radius;

Constructor
• A constructor is a special method whose task is to initialize the object of its class.
• It is special because its name is the same as the class name.
• They do not have return types, not even void and therefore they cannot return
values.
• They cannot be inherited, though a derived class can call the base class
constructor.
• Constructor is invoked whenever an object of its associated class is created.
• Note: There is always at least one constructor in every class. If you do not write a
constructor, C# automatically provides one for you, this is called default
constructor. E.g.: class A, default constructor is A().

FAQs Collected from http://dng-oops.blogspot.com/

Static Members of the class

Static members belong to the whole class rather than to individual object

Static members are accessed with the name of class rather than reference to
objects.
Eg:

class Test

public int rollNo;

public int mathsMarks;

public static int totalMathMarks;

class TestDemo

public static void main()

Test stud1 = new Test();

stud1.rollNo = 1;

stud1.mathsMarks = 40;

stud2.rollNo = 2;

stud2.mathsMarks = 43;

Test.totalMathsMarks = stud1.mathsMarks + stud2.mathsMarks;

Static Method of the class

Methods that you can call directly without first creating an instance of a class. Eg:
Main() Method, Console.WriteLine()

You can use static fields, methods, properties and even constructors which will be
called before any instance of the class is created.

As static methods may be called without any reference to object, you can not use
instance members inside static methods or properties, while you may call a
static member from a non-static context. The reason for being able to call
static members from non-static context is that static members belong to the
class and are present irrespective of the existence of even a single object.

FAQs Collected from http://dng-oops.blogspot.com/

Static Constructor
In C# it is possible to write a static no-parameter constructor for a class. Such a class is
executed once, when first object of class is created.

One reason for writing a static constructor would be if your class has some static fields or
properties that need to be initialized from an external source before the class is first used.

Eg:

Class MyClass

static MyClass()

//Initialization Code for static fields and properties.

Finalize() Method of Object class


Each class in C# is automatically (implicitly) inherited from the Object class which
contains a method Finalize(). This method is guaranteed to be called when your object is
garbage collected (removed from memory). You can override this method and put here
code for freeing resources that you reserved when using the object.

For example

Protected override void Finalize()

{
try

Console.WriteLine(“Destructing Object….”);

//put some code here.

finally

base.Finalize();

FAQs Collected from http://dng-oops.blogspot.com/

Destructor
A destructor is just opposite to constructor.

It has same as the class name, but with prefix ~ (tilde).

They do not have return types, not even void and therefore they cannot return values.

destructor is invoked whenever an object is about to be garbage collected

Eg:

class person

//constructor

person()
{

//destructor

~person()

//put resource freeing code here.

What is the difference between the destructor and the Finalize() method? When
does the Finalize() method get called?
Finalize() corresponds to the .Net Framework and is part of the System.Object class.
Destructors are C#'s implementation of the Finalize() method. The functionality of both
Finalize() and the destructor is the same, i.e., they contain code for freeing the resources
when the object is about to be garbage collected. In C#, destructors are converted to the
Finalize() method when the program is compiled. The Finalize() method is called by
the .Net Runtime and we can not predict when it will be called. It is guaranteed to be
called when there is no reference pointing to the object and the object is about to be
garbage collected.

FAQs Collected from http://dng-oops.blogspot.com/

Garbage Collection
• Garbage collection is the mechanism that reclaims the memory resources of an
object when it is no longer referenced by a variable.
• .Net Runtime performs automatically performs garbage collection, however you
can force the garbage collection to run at a certain point in your code by calling
System.GC.Collect().
• Advantage of Garbage collection : It prevents programming error that could
otherwise occur by incorrectly deleting or failing to delete objects.
Enumeration
Enumeration improves code readability. It also helps in avoiding typing mistake.

FAQs Collected from http://dng-oops.blogspot.com/

Concept of Heap and Stack


Local Variables Stack
Free Memory
Heap
(Larger Memory Area than Stack).
Global Variables
Permanent Storage area
Program Instruction

The Program Instruction and Global and Static variables are stored in a region known as
permanent storage area and the local variables are stored in another area called stack.
The memory space located between these two regions is available for dynamic memory
allocation during execution of program. This free memory region is called heap. The size
of heap keeps on changing when program is executed due to creation and death of
variables that are local to functions and blocks. Therefore, it is possible to encounter
memory “overflow” during dynamic allocation process.

Value Type and Reference Type

A variable is value type or reference type is solely determined by its data type.

Eg: int, float, char, decimal, bool, decimal, struct, etc are value types, while object type
such as class, String, Array, etc are reference type.

FAQs Collected from http://dng-oops.blogspot.com/

Value Type
As name suggest Value Type stores “value” directly.

For eg:

//I and J are both of type int

I = 20;

J = I;

int is a value type, which means that the above statements will results in two
locations in memory.

For each instance of value type separate memory is allocated.

Stored in a Stack.

It Provides Quick Access, because of value located on stack.

Reference Type
As name suggest Reference Type stores “reference” to the value.

For eg:

Vector X, Y; //Object is defined. (No memory is allocated.)

X = new Vector(); //Memory is allocated to Object. //(new is responsible for


allocating memory.)

X.value = 30; //Initialising value field in a vector class.

Y = X; //Both X and Y points to same memory location. //No memory is


created for Y.

Console.writeline(Y.value); //displays 30, as both points to same memory

Y.value = 50;

Console.writeline(X.value); //displays 50.

Note: If a variable is reference it is possible to indicate that it does not refer to


any object by setting its value to null;

Reference type are stored on Heap.


It provides comparatively slower access, as value located on heap.

FAQs Collected from http://dng-oops.blogspot.com/

ref keyword

Passing variables by value is the default. However, we can force the value parameter to
be passed by reference. Note: variable “must” be initialized before it is passed into a
method.

out keyword

out keyword is used for passing a variable for output purpose. It has same concept as ref
keyword, but passing a ref parameter needs variable to be initialized while out parameter
is passed without initialized.

It is useful when we want to return more than one value from the method.

Note: You must assigned value to out parameter in method body, otherwise the method
won’t compiled.

Boxing and Un-Boxing


Boxing: means converting value-type to reference-type.

Eg:

int I = 20;

string s = I.ToSting();

UnBoxing: means converting reference-type to value-type.

Eg:

int I = 20;

string s = I.ToString(); //Box the int


int J = Convert.ToInt32(s); //UnBox it back to an int.

Note: Performance Overheads due to boxing and unboxing as the boxing makes a copy
of value type from stack and place it inside an object of type System.Object in the
heap.

FAQs Collected from http://dng-oops.blogspot.com/

Inheritance
The process of sub-classing a class to extend its functionality is called Inheritance.

It provides idea of reusability.

Order of Constructor execution in Inheritance

constructors are called in the order from the top to the bottom (parent to child class) in
inheritance hierarchy.

Order of Destructor execution in Inheritance

The destructors are called in the reverse order, i.e., from the bottom to the top (child
to parent class) in the inheritance hierarchy.

What are Sealed Classes in C#?


The sealed modifier is used to prevent derivation from a class. A compile-time error occurs if a
sealed class is specified as the base class of another class. (A sealed class cannot also be an
abstract class)

Can you prevent your class from being inherited by another class?
Yes. The keyword “sealed” will prevent the class from being inherited.

FAQs Collected from http://dng-oops.blogspot.com/

Can you allow a class to be inherited, but prevent the method from being over-
ridden?
Yes. Just leave the class public and make the method sealed.

Fast Facts of Inheritance


Multiple inheritance of classes is not allowed in C#.
In C# you can implements more than one interface, thus multiple inheritance is
achieved through interface.

The Object class defined in the System namespace is implicitly the ultimate base
class of all the classes in C# (and the .NET framework)

Structures (struct) in C# does not support inheritance, it can only implements


interfaces.

Polymorphism
Polymorphism means same operation may behave differently on different classes.

Eg:

Method Overloading is an example of Compile Time Polymorphism.

Method Overriding is an example of Run Time Polymorphism

Does C#.net supports multiple inheritance?

No. A class can inherit from only one base class, however a class can implements many
interface, which servers some of the same purpose without increasing complexity.

How many types of Access Modifiers.

1) Public – Allows the members to be globally accessible.

2) Private – Limits the member’s access to only the containing type.

3) Protected – Limits the member’s access to the containing type and all classes
derived from the containing type.

4) Internal – Limits the member’s access to within the current project.

FAQs Collected from http://dng-oops.blogspot.com/

Method Overloading

Method with same name but with different arguments is called method overloading.
Method Overloading forms compile-time polymorphism.

Eg:

class A1

void hello()

{ Console.WriteLine(“Hello”); }

void hello(string s)

{ Console.WriteLine(“Hello {0}”,s); }

Method Overriding
Method overriding occurs when child class declares a method that has the same type
arguments as a method declared by one of its superclass.

Method overriding forms Run-time polymorphism.

Note: By default functions are not virtual in C# and so you need to write “virtual”
explicitly. While by default in Java each function are virtual.

Eg1:

Class parent

virtual void hello()

{ Console.WriteLine(“Hello from Parent”); }

Class child : parent

override void hello()


{ Console.WriteLine(“Hello from Child”); }

static void main()

parent objParent = new child();

objParent.hello();

//Output

Hello from Child.

FAQs Collected from http://dng-oops.blogspot.com/

Virtual Method
By declaring base class function as virtual, we allow the function to be overridden in any
of derived class.

Eg:

Class parent

virtual void hello()

{ Console.WriteLine(“Hello from Parent”); }

Class child : parent

{
override void hello()

{ Console.WriteLine(“Hello from Child”); }

static void main()

parent objParent = new child();

objParent.hello();

//Output

Hello from Child.

http://www.geekinterview.com/Interview-Questions/Concepts/OOPS

http://www.geekinterview.com/FAQs/Concepts/OOPS

OOPs Interview Questions


May 1, 2007 ripalmsoni Leave a comment Go to comments

“The ability to define a class and create instances of classes is one of the most important
capabilities of any Object Oriented Language”

Q: How will you define a CLASS ?

A: All classes in Visual Basic. NET are defined in a .VB file (as oppose to .CLS file in
vb6), Also .VB file may contain one or more classes. The basic syntax of a class is as
follows:

Class ClassName
End Class

Public|Protected|Friend|Protected Friend|Private Class Vehicle

End Class

Q: List All Class Access Specifiers?

A: There are five access specifiers in Visual Basic .NET defined as follows:

• Public – Applied at the class level and is the most common specifier. Public
Classes are classes that are intended to be used by any consumer.

Public Class PubClass

End Class

• Protected – can only be applied to Nested Classes. Are only accessible within the
class and within the child classes.

Public Class HasProtected

Protected Class ProtectedClass

End Class

End Class
• Friend – Are accessible only within the program in which they are defined. If you
add the Friend access specifier to a class definition, instance of that class can only
be created from within th same program.

Friend Class FriendClass

Public Shared Sub PublicMethod()

MsgBox(“FriendClass.PublicMethod”)

End Sub

End Class

• Protected Friend – Represents a union of the Protected and Friend Specifiers.


Protected class must be nested class, thus Protected Friend class must be nested
too.

Public Class HasProtectedFriend

Protected Friend Class ProtectedFriend

Public Shared Sub Test()

MsgBox(“test”)

End Sub

End Class

End Class

• Private – Can only be applied to a nested class. A Private nested class represents
implementation details of the class. When you have complex problem that
requires more problem solving horsepower then simple methods can provided,
defining a nested private class that implements the abstraction.

Public Class HasPrivate


Private Class PrivateClass

End Class

End Class

Q: What is a Field?

A: Field is a Data Member of a class. Fields can be ValueType members, like Integer or
Dates, or can be aggregate types, like structures or classes.

Q: What is a Property?

A: A Property is a special member constructor that is used like a field, but acts like a
method. Properties are special kind of methods that generally are used to provide
constrained access to Field.

Q: What are the Indexed Properties?

A: Indexed Properties are simply property methods that have a mandatory parameter. The
mendatory parameter is semantically treated like an index Index properties has an
argument between the parentheses. This argument doesn’t represent the field value;
rather, it represents an index to an underlying field value. The fundamental idea behind
indexed properties is that you can wrap arrays and other kind of collections of data safely
behind property methods.

Public Class Indexed

Private FStrings() As String = {“One”, “Two”, “Three”}

Public Property Strings(ByVal index As Integer) As String

Get

Return FStrings(index)
End Get

Set(ByVal value As String)

FStrings(index) = value

End Set

End Property

End Class

‘//useage

‘Msgbox(objIndex.Strings(1))

Q: Explain Default Properties?

A: Default Properties must be indexed properties, you can have only one default property
per class and you can invoke property setter and getter methods on a default property
using the verbos or shorthand form.

Public Class Indexed

Private FStrings() As String = {“One”, “Two”, “Three”}

Default Public Property Strings(ByVal index As Integer) As String

Get

Return FStrings(index)

End Get

Set(ByVal value As String)

FStrings(index) = value

End Set

End Property
End Class

‘//useage

‘Msgbox(objIndex.Strings(1))

‘Msgbox(objIndex(1)

Q: What are ReadOnly, WriteOnly and Shared Properties?

A: Read Only property is a property that can be used as an r- value only. That’s why a
property statement that includes a read only modifier will generate a getter block only
and users can evaluate this property but can not modify it.

Public ReadOnly Property Strings(ByVal index As Integer) As String

Get

Return FStrings(index)

End Get

End Property

Write Only – is a property that a consumer can modify but can’t view. This implements a
property setter only.

Public WriteOnly Property Strings(ByVal index As Integer) As String

Set(ByVal value As String)

FStrings(index) = value

End Set

End Property
Shared Property – is a property that a shared members can also be invoked using
instances.

Public Property Strings(ByVal index As Integer) As String

Get

Return FStrings(index)

End Get

End Property

Q: What is Constructor and Destructor ?

A: A constructor is called to Initialize a class. A destructor is called to Finalize the class.


Visual Basic.NET implements the constructor as Sub New and Destructor as protected
method Sub Finalize().

Q: what is MyBase and MyClass?

A: MyBase allows you to invoke methods in your class’s Base Class that may be
overloaded in your class, resolving any name ambiguity.

MyClass is roughly equivalent to the Me reference to self.

Q: what is Method Overloading?

A: Method Overloading means to have two or more methods in the same class with
different signature. The benefit of method overloading is that it allows you to implement
methods that supports the same semantic operation but differ by argument number or
type.

Public Overloads Sub GetCustomer(ByVal strCustomerName As String)


End Sub

Public Overloads Sub GetCustomer(ByVal iCustomerID As Integer)

End Sub

Q: what is Method OverRidingd?

A: Method Overriding changing the behavior of a method in a base class. Use keyword
Overrides.

Q: what are Overridable, MustOverride and NotOverridable modifiers?

A: Overridable – modifier indicates that a method can be overriden.

NotOverridable- modifier indicates that you can not override a method.

MustOverride- modifier indicates that a method is abstract, and child class must
implement the MustOverride method in a parent class.

Q: what Shadows modifier?

A: Shadows – if you want a child class to use a name previously used in a parent class,
use the Shadows keyword to do so. Shadows keyword simply allows you to reintroduce a
previously used name in the child class without a compiler error.

OOPS Interview Questions Part -1


Posted 21-01-08 at 02:40 PM by HERO
1. List few features of object oriented programming. Object oriented
programming features:
Follows bottom up approach.
Emphasis is on data.
Programs are divided into objects.
Functions and data are bound together.
Communication is done through objects.
Data is hidden.

2. List features of procedure oriented programming. Procedure oriented


programming features:
Follows top down approach.
Emphasis is on procedure.
Programs are divided into functions.
Data moves around freely.

3. What are the basic concepts of OOPs?The following are the basic concepts
of OOPs:
Classes, Objects, Data abstraction and encapsulation, Polymorphism,
Inheritance, Message Passing, and Dynamic Binding.

4. What is a class?
Class is an entity which consists of member data and member functions which
operate on the member data bound together.

5. What is an object?
Objects are instances of classes. Class is a collection of similar kind of objects.
When a class is created it doesn’t occupy any memory, but when instances of
class is created i.e., when objects are created they occupy memory space.

6. What is data encapsulation?


Wrapping up of member data and member functions together in a class is called
data encapsulation.

7. What is data abstraction?


Data abstraction refers to the act of providing only required features and hiding
all the non-essential details for usage.

8. What are ADTs?


ADTs stand for abstract data types. Classes which provide data abstraction are
referred to as ADTs.

9. What is inheritance?
The process of inheriting the properties of one object by another object is called
inheritance.

10. What is polymorphism?


The feature of exhibiting many forms is called polymorphism.

11. What are the steps involved in message passing? The following are the
steps involved in message passing:
Creating classes, creating objects, and creating communication between objects.

12. What is dynamic binding?


The feature that the associated code of a given function is not known till run time
is called dynamic binding.
13. What are the advantages of OOP?Data hiding helps create secure
programs.
Redundant code can be avoided by using inheritance.
Multiple instances of objects can be created.
Work can be divided easily based on objects.
Inheritance helps to save time and cost.
Easy upgrading of systems is possible using object oriented systems.

14. Give an example for object based programming language.


Ada is an example for object based programming language.

15. Write the features of object based programming language.


Data hiding, data encapsulation, operator overloading and automatic initialization
and clear up of objects are the important features exhibited by object based
programming languages.

OOPS Interview Questions Part -2


Posted 28-01-08 at 10:54 AM by HERO
1. Give some examples of pure object oriented languages.
Eiffel, Java, Simula, Smalltalk are some pure object oriented languages.

2. List the areas of applications of object oriented programming?The


following are few areas of applications of object oriented programming:
CAD/CAM systems
Office automation and decision support systems
Object oriented databases
Real time systems
Simulation and modelling.

3. What is the difference between structure in C and class in C++?


In C structure, by default the members are public. Whereas in C++ class, by
default the members are private.

4. What are the sections in class specification?


There are basically two sections in class specification: Class declaration and
class function definition.

5. Write the syntax for class declaration.


Syntax:
class
{
private:
variables;
functions;
public:
variables;
functions;
};

6. What are class members?


The variables and functions used in a class are called class members.

7. What are the visibility labels?


Private, public and protected are the visibility labels.

8. Give an example for class declaration.


Ex.:
class area
{
int r;
public:
void get(int r);
void area(int r);
};

9. How does a class provide data hiding?


Data hiding is provided by a class by the use of visibility label private which
allows only the member functions to access the data declared as private.

10. What are the ways of defining member functions?


Member functions can be defined in two ways, one inside the class definition and
the other outside the class definition.

11. Write the syntax for defining member functions inside the class.Syntax:
class
{
private:
variables;
public:
variables:
return type
{
statements;
}
};
12. Write the syntax for defining member functions outside the
class.Syntax:
return type :: (arguments)
{
body;
}
13. What does member functions represent?
Member functions of a class represent the behaviour of a class.

14. Write the syntax for making an outside function inline?Member functions
can be made inline even though we define them outside the class by using the
keyword inline.
Syntax:
class
{
variables;
public:
return type (arguments);
};
inline return type :: (arguments)
{
body;
}

15. What is an object?


A region of storage with associated semantics is called an object.

http://www.careerride.com/OOPS-in-NET.aspx

RE: what is shadowing in .net?


When two programming elements share the same name one of them can hide or shadow
the other one. In such a situation the shadowed element is not available for reference;
instead when your code uses the shared name the Visual Basic compiler resolves it to the
shadowing element.Reju

Is this answer useful? Yes | No

January 19, 2006 05:25:12

samiksc Member Since: October 2005 Contribution:

233
RE: what is shadowing in .net?
Shadowing is either through scope or through inheritance.

Shadowing through inheritance is hiding a method of a base class and providing a new
implementation for the same. This is the default when a derived class writes an
implementation of a method of base class which is not declared as overridable in the base
class. This also serves the purpose of protecting an implementation of a new method
against subsequent addition of a method with the same name in the base class.

'shadows' keyword is recommended although not necessary since it is the default.

Is this answer useful? Yes | No

April 06, 2006 03:37:41


M.Sami Member Since: April 2006 Contribution:

4
RE: what is shadowing in .net?
while surfing i got very accurate and valid defination.Shadowing :- This is a VB.Net
Concept by which you can provide a new implementation for the base class member
without overriding the member. You can shadow a base class member in the derived class
by using the keyword Shadows . The method signature access level and return type of the
shadowed member can be completely different than the base class member.Hiding : - This
is a C# Concept by which you can provide a new implementation for the base class
member without overriding the member. You can hide a base class member in the derived
class by using the keyword new . The method signature access level and return type of the
hidden member has to be same as the base class member.Comparing the three :-1) The
access level signature and the return type can only be changed when you are shadowing
with VB.NET. Hiding and overriding demands the these parameters as same.2) The
difference lies when you call the derived class object with a base class variable.In class of
overriding although you assign a derived class object to base class variable it will call the
derived class function. In case of shadowing or hiding the base class function will be
called.http://www.codeproject.com/useritems/OSH.asp

Is this answer useful? Yes | No


July 01, 2006 01:56:04
Rituparno

RE: what is shadowing in .net?


Criterion Shadowing Overriding
Protecting
Achieving
against a
polymorphism
subsequent
by defining a
base class
different
modification
implementation
Purpose introducing a
of a procedure
member you
or property
have already
with the same
defined in
calling
your derived
sequence
class
Only a
procedure
Redefined Any declared
(Function or
element element type
Sub) or
property
Only a
procedure or
Redefining Any declared property with
element element type the identical
calling
sequence1
Cannot expand
the
accessibility of
overridden
Any
Accessibility element (for
accessibility
example
cannot override
Protected with
Public)
Cannot change
Readability readability or
Any
and writability of
combination
writability overridden
property
Shadows
recommended
in derived Overridable
class; required in
Keyword Shadows base class;
usage assumed if Overrides
neither required in
Shadows nor derived class
Overrides
specified
Shadowing
Inheritance element
Overriding
of redefining inherited by
element
element by further
inherited by
classes derived
further derived
deriving classes;
classes;
from your shadowed
overridden
derived class element still
hidden2

Is this answer useful? Yes | No

December 11, 2006


23:05:35
hari krishna

RE: what is shadowing in .net?


The programming techniuqe of replacing a member of a base class with a new member in
a derived class.Shadowing differs from overriding in that base class's shadowed member
is no longer available from the derived class
http://www.genprogrammers.com/default.asp?
C=16&SID=f9c98718zdzee47dd3ffb132ffczd43b#16

http://www.dotnetfunda.com/interview/ShowCatQuestion.aspx?
category=42
http://www.dotnetuncle.com/

http://dotnetguts.blogspot.com/2006/10/net-faqs-links.html

http://www.sexzindian.com/video/1516/sucking-the-lolipop

Das könnte Ihnen auch gefallen