Forskellen på at nedarve fra en anden klasse og Import?
Hej med jer...........
Hvad er forskellen, eller rettere under hvilken omstændigheder skal man vælge følgende:
Nedarve fra en anden klasse man selv har lavet. Altså så f.eks. alle en code-behind filer nedarver fra en klasse man selv har lavet og den arver måske igen fra en anden ovs.
Eller lave en klasse, og så Importere det hvor man skal bruge den?
Når du siger importerer, går jeg ud fra at du hentyder til Import i VB.NET. Import importerer et namespace til koden (for eksempel System.Windows.Forms). Der kan så være forskellige klasser i de forskellige namespaces. Følgende er det samme:
Imports System.Windows.Forms Public Class Inherits Form End Class
og
Public Class Inherits System.Windows.Forms.Form End Class
(er ikke helt sikker på min VB.NET-syntaks, jeg er C#'er...)
Import kan ikke bruges til klasser overhovedet.
// Simon
Når man nedarver fra en anden klasse, laver man sådan set en kopi af den man nedarver fra plus det ekstra man putter på.
Jeg har f.eks. lavet et class library i VS.NET hvor jeg har lavet et par klasser. Class1.vb og Class2.vb f.eks. I min web appikation, laver jeg såen reference til den. Når jeg kompilere det, kan jeg Import den klasse derfra i alle mine Web Application filer.
Hvad er så forskellen på det, og så at lave en klasse fil, i sit web applikation projekt og lave det sådan at alle aspx code-behind filerne nedarver fra den klasse.
Public Class test Inherits Class1
End Class
Eller
Imports Class1 Public Class test Inherits System.Web.UI.Page End Class
tele_lucien>> ved det første du har gjort, altså lavet et class libary, og så importere det (altså lave reference), så gør du brug af nogle klasser som du har lavet. Ved det andet eksempel, så tager du en klasse og så udvider den... det kan være det er en klasse MS har lavet som du ikke er helt tilfreds med, f.eks. System.Web.UI.Page klasse, og på den måde kan man udvide den ved hjælp af nedarving.
1. Ved at importere en CL til sit projekt kan man gøre brug af de klasser og metoder der følger med 2. Ved at nedarve en klasse udvider man den, og laver en ny... som så kan bruges i sit project, eller måske kompileres til en CL som så igen kan imorteres i et tredie projekt.
Et godt eksempel er simon, som blev godt træt af den TcpListener som der følger med i .Net BCL, så han valgte at lave en ny. Det er dog ingen grund til at opfinde den dybe tallerken to gange, så han har såmen bare nedarvet fra den og udvidet den med lidt ekstra finesser :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.