Thaiio.com

Thaiio is the best of PC interfacing Electronic Hardware and Devices resource.

Today , 2007
November 13th, 2007

.NET Solving the Multiple Inheritance Issue Under .NET Platform

.NET platform does not support multiple inheritance. Do not confuse multilevel inheritance with multiple inheritance. With multiple inheritance we can have a subclass that inherits from two classes at the same time.

Let’s suppose we have an application that has a class Customers and another class Vendors. If you wanted to combine these two classes into one CustomerVendor class it would be a combination of Customers and Vendors just like the diagram below.

Please copy the following URL into your browser to view the diagram: http://www.vbprofs.com/images/Article Images/ThomasArt1.gif

In the above diagram we see how the CustomerVendor class inherits from both of those classes.

Multiple inheritance is complex and can be dangerous. The advantages of code re-usage prevail over complexity is up to your choice.

Multiple inheritance is not supported by VB.NET or .Net platform. Instead of multiple inheritance we can use multiple interfaces to achieve similar effect to multiple inheritance.

In VB.NET all objects have a primary or native interface, which is composed of properties, events, methods or member variables declared using Public keyword.
Objects can implement also secondary interfaces by using Implement keyword.

Sometimes it is helpful for an object to have more than one interface, allowing us to interact with the object in different ways. Inheritance allow us to create subclasses that are a specialized case of the base class.

Example

Sometimes we have a group of objects that are not the similar, but we want to handle them the same manner. We want all the objects to act as if they are the same, even though they are different.

We can have some different objects in an application, such as customer, product, invoice etc. Each object would have a default interface appropriate to each individual object, and each of them is a different class. No natural inheritance is implied between these classes.
Let’s suppose we want to print a document for each type of object. In this case we’d like to make them all act as printable object.
To accomplish this we can define a generic interface that would enable generating a printed document.
By implementing a common interface we are able to write a routine that accepts any object that implements a printed document.

To conclude, by implementing multiple interfaces in VB.NET , we can achieve a similar effect to that of multiple inheritance.

Thomas is an experienced Visual Basic developer, with expertise of 7+ years developing especially financial applications. His main IT skills are VB, SQL, Crystal Reports - should you need a Visual Basic developer for your projects feel free to contact Thomas through his personal website Kaloyani.com or through VBprofs.com - the newest Visual Basic and VB.NET resources portal.

Tags: plc
pac
pc
port
vb
vc
c#
parallel
serial
com
usb

November 13th, 2007

Cisco CCNA CCNP Certification Exam Lab Frame Relay Subinterfaces And Split Horizon

Earning your Cisco CCNA and CCNP is a tough proposition, and part of that is the fact that you quickly learn that there’s usually more than one way to do things with Cisco routers - and while that’s generally a good thing, you better know the ins and outs of all options when it comes to test day and working on production networks. Working with Frame Relay subinterfaces and split horizon is just one such situation.

One reason for the use of subinterfaces is to circumvent the rule of split horizon. You recall from your CCNA studies that split horizon dictates that a route cannot be advertised out the same interface upon which it was learned in the first place. In the following example, R1 is the hub and R2 and R3 are the spokes. All three routers are using their physical interfaces for frame relay connectivity, and they are also running RIPv2 172.12.123.0 /24. Each router is also advertising a loopback interface, using the router number for each octet.

R1(config)#int s0

R1(config-if)#ip address 172.12.123.1 255.255.255.0

R1(config-if)#no frame inverse

R1(config-if)#frame map ip 172.12.123.2 122 broadcast

R1(config-if)#frame map ip 172.12.123.3 123 broadcast

R1(config-if)#no shut

R2(config)#int s0

R2(config-if)#encap frame

R2(config-if)#no frame inver

R2(config-if)#frame map ip 172.12.123.1 221 broadcast

R2(config-if)#frame map ip 172.12.123.3 221 broadcast

R2(config-if)#ip address 172.12.123.2 255.255.255.0

R3(config)#int s0

R3(config-if)#encap frame

R3(config-if)#no frame inver

R3(config-if)#frame map ip 172.12.123.1 321 broadcast

R3(config-if)#frame map ip 172.12.123.2 321 broadcast

R3(config-if)#ip address 172.12.123.3 255.255.255.0

R1#show ip route rip

2.0.0.0/32 is subnetted, 1 subnets

R 2.2.2.2 [120/1] via 172.12.123.2, 00:00:20, Serial0

3.0.0.0/32 is subnetted, 1 subnets

R 3.3.3.3 [120/1] via 172.12.123.3, 00:00:22, Serial0

R2#show ip route rip

1.0.0.0/32 is subnetted, 1 subnets

R 1.1.1.1 [120/1] via 172.12.123.1, 00:00:06, Serial0

R3#show ip route rip

1.0.0.0/32 is subnetted, 1 subnets

R 1.1.1.1 [120/1] via 172.12.123.1, 00:00:04, Serial0

The hub router R1 has a route to both loopbacks, but neither spoke has a route to the other spoke’s loopback. That’s because split horizon prevents R1 from advertising a network via Serial0 if the route was learned on Serial0 to begin with.

We’ve got two options here, one of which is to disable spilt horizon on the interface. While doing so will have the desired effect in our little network, disabling split horizon is not a good idea and should be avoided whenever possible. We’re not going to do it in this lab, but here is the syntax to do so:

R1(config)#interface serial0

R1(config-if)#no ip split-horizon

A better solution is to configure subinterfaces on R1. The IP addressing will have to be revisited, but that’s no problem here. R1 and R2 will use 172.12.123.0 /24 to communicate, while R1 and R3 will use 172.12.13.0 /24. R3’s serial0 interface will need to be renumbered, so let’s look at all three router configurations:

R1(config)#interface serial0

R1(config-if)#encap frame

R1(config-if)#no frame inverse-arp

R1(config-if)#no ip address

R1(config-if)#interface serial0.12 multipoint

R1(config-subif)#ip address 172.12.123.1 255.255.255.0

R1(config-subif)#frame map ip 172.12.123.2 122 broadcast

R1(config-subif)#interface serial0.31 point-to-point

R1(config-subif)#ip address 172.12.13.1 255.255.255.0

R1(config-subif)#frame interface-dlci 123

R2(config)#int s0

R2(config-if)#ip address 172.12.123.2 255.255.255.0

R2(config-if)#encap frame

R2(config-if)#frame map ip 172.12.13.3 221 broadcast

R2(config-if)#frame map ip 172.12.123.1 221 broadcast

R3(config)#int s0

R3(config-if)#ip address 172.12.13.3 255.255.255.0

R3(config-if)#encap frame

R3(config-if)#frame map ip 172.12.13.1 321 broadcast

R3(config-if)#frame map ip 172.12.123.2 321 broadcast

A frame map statement always names the REMOTE IP address and the LOCAL DLCI. Don’t forget the broadcast option!

Show frame map shows us that all the static mappings on R1 are up and running. Note the “static” output, which indicates these mappings are a result of using the frame map command. Pings are not shown, but all three routers can ping each other at this point.

R1#show frame map

Serial0 (up): ip 172.12.123.2 dlci 122(0×7A,0×1CA0), static,

broadcast, CISCO, status defined, active

Serial0 (up): ip 172.12.13.3 dlci 123(0×7B,0×1CB0), static,

broadcast, CISCO, status defined, active

After the 172.12.13.0 /24 network is added to R1 and R3’s RIP configuration, R2 and R3 now have each other’s loopback network in their RIP routing tables.

R2#show ip route rip

1.0.0.0/32 is subnetted, 1 subnets

R 1.1.1.1 [120/1] via 172.12.123.1, 00:00:20, Serial0

3.0.0.0/32 is subnetted, 1 subnets

R 3.3.3.3 [120/1] via 172.12.123.1, 00:00:22, Serial0

R3#show ip route rip

1.0.0.0/32 is subnetted, 1 subnets

R 1.1.1.1 [120/1] via 172.12.13.1, 00:00:20, Serial0

2.0.0.0/32 is subnetted, 1 subnets

R 2.2.2.2 [120/1] via 172.12.13.1, 00:00:22, Serial0

While turning split horizon off is one way to achieve total IP connectivity, doing so can have other unintended results. The use of subinterfaces is a more effective way of allowing the spokes to see the hub’s loopback network.

Chris Bryant, CCIE #12933, is the owner of The Bryant Advantage, home of free CCNA and CCNP tutorials, The Ultimate CCNA Study Package, and Ultimate CCNP Study Packages.

You can also join his RSS feed and visit his blog, which is updated several times daily with new Cisco certification articles, free tutorials, and daily CCNA / CCNP exam questions! Details are on the website.

For a FREE copy of his latest e-books, “How To Pass The CCNA” and “How To Pass The CCNP”, visit the website and download your free copies. You can also get FREE CCNA and CCNP exam questions every day! And coming in 2007 — Microsoft Vista certification from The Bryant Advantage!

Tags: plc
pac
pc
port
vb
vc
c#
parallel
serial
com
usb

|
Interior Accessories Shop free xxx cheapest viagra in uk cheap viagra viagra rise levitra alternative levitra vs viagra soft tabs cheapest online cialis 24 hour delivery canadian rx drugs bigtits i made free pornstars drunken asian girls BIGNATURALS big fat booty lessons in blow jobs porn fuck free porn videos free anal old mom video milfs amateur blowjob cheapest online diazepam 24 hour delivery cheap levitra rx pills buy lorazepam cheap cialis buy cheapest generic valium purchase new report female zyban order oxazepam prescription cheapest generic xanax viagra order herbal klipal for woman levitra buy drugs online buy herbal tramadol cialis soft tabs levitra cialis best herbal viagra soft tabs uk cialis buy viagra on line viagra levitra women buy cialis online without prescription natural levitra substitutes cheapest generic viagra cyber pharmacy propecia viagra soft tabs studies women
Close
E-mail It