---
title: "ärvda klasser i vb"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/65555-ärvda-klasser-i-vb"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "jake"
published: "2003-01-20T16:40:55.000Z"
updated: "2003-01-20T17:48:37.000Z"
replies: 6
views: 276
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/65555-ärvda-klasser-i-vb"
---

# ärvda klasser i vb

## #1 — jake, 2003-01-20T16:40Z

Har två klasser i vb.net som liknar varandra så tänkte att den ena skulle ärva den andra och använda overridable för det som skiljer dom...

```
Public Class Class2

    Inherits Class1

    Public Overrides Sub Flytta()
        x = x - Ökning
        y = y + Ökning
    End Sub
End Class
```

När jag deklarerar variablerna direkt i klass 2 fungerar det men när jag ersätter det med
inherits klass1 där alla varibler finns deklarerade så verkar den inte x y och ökning vara deklarerade. 
Något mer man måste göra för att klass2 ska få tillgång till variablerna från klass1?

Permalänk: https://www.webforum.nu/p/65555

## #2 — niko, 2003-01-20T16:53Z

Är x och y deklarerade som *Protected* i Class1?

Permalänk: https://www.webforum.nu/p/920081

## #3 — jake, 2003-01-20T16:56Z

nej som public...

```
Public Class Class1
    Dim x, y As Integer
    Const Ökning = 10

    Public Property xspot() As Integer
        Get
            xspot = x
        End Get
        Set(ByVal Value As Integer)
            x = Value
        End Set
    End Property

    Public Property yspot() As Integer
        Get
            yspot = y
        End Get
        Set(ByVal Value As Integer)
            y = Value
        End Set
    End Property

    Public Overridable Sub Flytta()
        x = x + Ökning
        y = y - Ökning
    End Sub
End Class
```

Permalänk: https://www.webforum.nu/p/920085

## #4 — niko, 2003-01-20T17:04Z

> **jake skrev:**
>
> nej som public...

Nej, som du deklarerar dem: *Dim x, y As Integer* så defaultar dom nog till *Private*.

Om du vill kunna använda dem som du tänker göra i din ärva klass så bör du skriva: *Protected x, y As Integer*.

Permalänk: https://www.webforum.nu/p/920093

## #5 — jake, 2003-01-20T17:15Z

ok...

hur blir det med konstanten då...?

Permalänk: https://www.webforum.nu/p/920100

## #6 — niko, 2003-01-20T17:26Z

Vet inte riktigt ..

Vad säger kompilatorn om:

*Protected Shared Ökning = 10*?

eller kan man rent av skriva:

*Protected Const Ökning = 10*?

.. är osäker.

Permalänk: https://www.webforum.nu/p/920116

## #7 — jake, 2003-01-20T17:48Z

ja det fungerade...

tack.

Permalänk: https://www.webforum.nu/p/920152

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/65555-ärvda-klasser-i-vb
