Copying A Class Into A Derived Class?
Oct 19, 2010I have two classes, one derived from another.
Private Class clsVehicles
Public Make As String
Public Model As String
[Code]....
I have two classes, one derived from another.
Private Class clsVehicles
Public Make As String
Public Model As String
[Code]....
Supose a base class
Public Class airplane
Private var_num_seats As Integer
Private var_num_engines As Integer
[code]....
Obviously, I don't wish that the class Glider has the method "start_engines" neither the property "num_engines". Otherwise, other child classes may have. How can I supress these property and method in child class, not just ignoring (if I can)?
How do I access the base class inside a derived class?
View 1 RepliesI'm writing a set of unit tests for a large, complex class called ImageEditor from a piece of legacy code, where image processing and GUI functionality isn't strictly divided. One of the methods in the class, BaseImageChanged, seems to be concerned entirely with how images get displayed and should be disabled in my unit tests to avoid unnecessary complexity. The test project is in C#, and the original code is in VB; my idea was to create a Decorator for the class in C# and then hide the method behind an empty one that does nothing. However, when I try running the unit test, the VB code keeps referencing the old BaseImageChanged method as though the replacement didn't exist. Here's what I'm doing:
(VB class)
Public Class ImageEditor
...
[code].....
I have a base class called PageBase and then a derived class TestPage that inherits from PageBase. In PageBase I have overridden the OnInit() and when it is called and I inspect the value of 'Me', it is of the type of the derived class and not the base class. My question is how does inheritance really work? For instance, when instantiating TestPage does an instance of PageBase get created too?
Here is my code;
Partial Public Class TestPage
Inherits PageBase
Public Sub New()
[code]...
I am trying to add shared members in derived classes and use that values in base classes...
I have base
class DBLayer
public shared function GetDetail(byval UIN as integer)
dim StrSql = string.format("select * from {0} where uin = {1}", tablename, uin)
end function
end class
[Code]..
currently there is error using the tablename variable of derived class in base class but i want to use it i dun know other techniques if other solutions are better then u can post it or u can say how can i make it work? confused...
I use to set WithEvents variables to Nothing in Destuctor, because this will "Remove" all the Handlers associated with Handles keyword. Will this have the same effect for derivated classes?
[Code]...
I have a base class where amongst other code I have declared 2 properties. In my derived class, I get data from the DB and assign the results to the base class properties. This is so when I go back to the base class code, I can access the property values. It allows me to set the values in the derived class but once I go back to the Base class, the values don't exist.
[Code]...
I have a derived DataTable[code]...
Overload resolution failed because no accessible LoadDataRow' can be called with these arguments.
I have a function that 2 derived classes use, but the third doesn't, would it make sense to just leave it in the base class, even though one of the 3 derived classes doesn't use it?The only way I could think of disallowing the third class is to basically create an intermediate class that is derived of the base, then the 2 that use the common function are derived off the second class.
Is it possible to prevent the 3rd class from using the function, while letting the two that are supposed to use it, use it?Does that just seem to go overboard, I mean as long as I don't "try" to call the function from the 3rd class, it shouldn't be a problem, I just was interested if there was a way to prevent it all together without a lot of hassle.
Trying to implement some sort of commit/rollback functionality in my base objects. I have it working with some help from google. However, I have a question My Base Class has a BeginEdit as shown below -
[Code]...
Now, what I'm confused about is if I create another class, Class1, that inherits the base class. I add some properties such as Name, Age, Location, etc. to Class1.When I do Class1.BeginEdit, wouldn't "Me.memberwiseclone" make a copy of Class1, then CType try to cast it from Class1 to the BaseObject class? How does that work if Class1 has additional properties like the Name, Age..blah blah? Where do those gets stored in the Base class? I'm having a hard time wrapping my head around the concept...
The test is base on Visual Basic inheritance, need to create a derived class, and identify the inheritance.
View 5 RepliesI would like to inherit from the Data.DataColumn in order to produce a DataTextColumn. That means that in the derived class, I dont want to see the non-applicable AutoIncrement property and the like - all I want to see are properties that apply to string types.[code]...
View 5 RepliesI have an interface (called IPersistentBusinessObject) with a required function that looks like this:
Function GetFields(ByVal fromDatabase As clsODBCDatabase) As enumSuccessFailure
In a class, I try to satify the requirement with the following:
Public Function GetFields(ByVal fromDatabase As clsDatabase) As enumSuccessFailure Implements IPersistentBusinessObject.GetFields
In this example, clsDatabase inherits from clsODBCDatabase. So I'd expect this to work since clsDatabase does everything clsODBCDatabase does and more. However, it does not work. The compiler complains that I haven't properly satisifed the interface requirements for GetFields. Can anyone tell me why this does not work?In slightly different but related example, I have an interface that requires a function called 'AddItem' as in:
Sub AddItem(ByVal objObject As IPersistentBusinessObject)
In my 'building' class, I attempt to satisfy this requirement using:
Public Sub AddItem(ByVal building As clsBuilding) Implements IPersistentBusinessCollection.AddItem
In this example, clsBuilding implements the interface IPersistentBusinessObject. So I'd expect this to work since clsBuilding satisfies the interface contract. However, it does not work. The compiler complains that I haven't properly satisifed the interface requirements for AddItem. why this does not work?
I'm struggling here.. I know I can disable the warning manually. However I'm not sure if this would be the right way to go about this.
Here's my interface..vbnet Public Interface IPopulatingClassBase Property Identity() As Int64 ReadOnly Property Dirty() As Boolean Sub Populate_Class(ByVal RecordID As Int64) Sub Save_Class() Sub Reset_Class()End Interface
[Code]...
PS In my example think of it as classes that populate with data from a database. The parent class would be an organization, and the derived class a location. Both populate and have similar functionality. The only difference is locations are an entity of an organization(the data record for a location constraints it to an organization) upon loading location data I also populate the organization class. This is a real example of what my project does.. so having said I just want to know how I can get around this warning, and if not would it have any consequences if I left it as-is.
I have a Base Class, called primitive Graphics. derived from this class are several different types of graphics, squares, rectangles, lines, etc. I am storing those graphics in an object that inherits collectionbase. This causes a problem because I cannot access any of the members in the derived class when they are added to the collection. Here is the default property for my primitivecollection class
[Code]...
My current workaround is to just put all of the public members in the base class, however this is starting to look ugly as I add more derived classes that need members available to the derived class only
I was working on a custom button, in which I had to capture the event of the button, and depending on the certain conditions, either I'll block the event or pass it on the form containing my custom button.[code]Now, I do not have any idea how to block the event and not allow it to pass if the users opts for "No" in the given example.
View 1 RepliesI am trying to minimize my code writing. I have DBLayer base class that selects, inserts, updates and deletes records from database. I need only fieldlist and table name from each derived classes to perform the actions. I have defined static tablename, fieldnames in derived class. Currently I am defining next static functions in derived class for GeneralSelect [which selects all records], GeneralInsert[Which inserts a records], GeneralUpdate[Which updates records as per given id] and GeneralDelete[Which deletes a record of the given id]. The parameter and all functioning are same just the differece is the table name and fieldnames.
One DBLayer Class that performs database actions
Class DBLayer
Public shared function Query(byval SQL as string) as dataTable
[code]....
... same goes for all other table objects... If I have 20 database tables i have to write getdata method in all 20 class changing only the tablename so i would like to get ride of it. So in order to get ride of it what do i need to do?
Can we override a Public Shared method in derived class? If not why?
View 2 Repliesi've finally got round to learning about classes and inheritance, but i'm not sure how to proceed. i have a base class Employee, which is inherited by 2 derived classes. how do i use the same Employee class in both derived classes? obviously if i write a sub new for both of them + declare a new Employee class, they won't be using the same class. heres my Employee class:
[Code]....
I am just curious, if there is some way to attach handler to my derived classes base event, if I know EventInfo and I have Delegate to handler function. I have tried MyEvent.AddHandler(CType(Me, BaseClassType), MyDelegate) already, but no positive result at all. Consider being in need of attaching handler to custom event at runtime, while derived class possibly shadows this event.
View 2 RepliesBackground:I have a base class and several inherited derived classes. The derived classes don't always need to have the same properties. If any properties are shared among the derived classes, those properties would live at the base class level ('Contents', for example).Similarly, GoodDocument below has 'GoodThings' but would not want/need to have 'BadThings'.I want to treat instances of both 'GoodDocument' and 'BadDocument' as type 'Document'
public mustinherit class Document
public property Contents as string
public sub new()...
[code]....
When i use my UserControl in a project my Mouse Enter & Leave events aren't firing, i assume i fix this with a raiseevents in my usercontrol. However when i try to do this it says something about "cannot raise base event from derived class".
View 7 RepliesIf Class X is within the scope of Class Y, is X a subclass of Y?If Class A is a sub Class of B, then is Class B considered a super class of A?if Class C inherits Class D is Class D a superclass or parent of Class C?if Class E extends Class F then we can consider Class E a child of F?if Class G inherits Class H and is within the scope of Class I then who is the parent of Class G? Classes that inherits Class J and classes that are within Class J are all sub classes of Class J?
View 1 RepliesHow do I distinguish copying data and a pointer when using a class?E.g.
public class myparams var1 as integervar2 as intergerv3 as stringend classmyvar as new myparamsmyvar.var1=1myvar.var2=2myvar.v3 ="hh"othervar as new myparams
I want to copy all of myvar data into othervar in one go.. without doing
othervar.var1=myvar.var1 etcusing othervar=myvar"
Looks like its just copying the pointer of myvar into othervar? Can I copy all the class data in one go? VB2008 user
I have put this code in the global form Inherits System.Windows.Forms.Form. And then in the form that will inherit this from the global Inherits MenuStrip. "MenuStrip" is what the global form is called. But keep getting this error: Error1Base class 'MenuStrip' specified for class 'Lesson2' cannot be different from the base class 'System.Windows.Forms.Form' of one of its other partial types.
View 5 RepliesI'm trying to copy the elements from a List(Of Frequency) where Frequency is a custom class I have made. Everything in the other places seems alright but the problem seems to be with the copying, where it still references the original table, so changing the values of one changes the original. I've tried the List.CopyTo() method and tried converting to and array with List.ToArray and then using Array.Copy but it seems they always change the original. I've also tried a for loop and create and New instance of the classes but that doesn't work either. What I'm using it for is to pass the List(Of Frequency) to a new Task to do multitasking(), if anyone can think of a better method to pass a List(Of Frequency), or an array to to a task and have it not change the original.
View 3 RepliesConsider:
Public MustInherit Class Column
Public ReadOnly Property ReturnSomethingUseful() As Object
Get
'return something useful
[code]....
But this gives the following error:
Public Overrides Function ParseValue(sValue As String) As Boolean'
cannot override 'Public Overridable Function ParseValue(sValue As String) As Object'
because they differ by their return types.
I accept that you can't do this, but I'd like to be able to preserve the semantics of what I'm. trying to do, which is to have an untyped version that deals with Object, but a typed version in derived classes that knows about the specific type T.
I have a base class:
public class foo
public sub new(byref bar as foobar)
end class
and a subclass
[CODE]...
My question is: In the derived class, I have lots of fields defined. What's the prefered style? Put 'em after my "new" sub or before?
Public Class notifierMain
Public Class Contacts
Inherits List(Of row)
Public Sub New()
[code]....
When I debug this winforms application I get curType = "notifier.notifierMain+Contacts+row" I want to the Validate function to know it is in MyContacts. How do I do this?