Close Menu
Datormagazin
    Facebook
    Senaste testerna
    • Test: Huawei Watch 5 & Fit 4 Pro
    • Test: Huawei Watch GT 3 SE
    • Test: Beoplay EX
    • Test: Sony Xperia 1 III
    • Test: Cooler Master Masterair MA624 Stealth och MA612 Stealth ARGB
    DatormagazinDatormagazin
    • Hem
    • Nyheter
    • Tester
      1. Toppklass
      2. DMZ Rekommenderar
      3. Gaming
      4. Jämförande test
      5. View All

      Test: OnePlus Pad 3 och Smart Keyboard

      10 juni, 2025

      Test: Huawei Watch 5 & Fit 4 Pro

      15 maj, 2025

      Motorola Razr 60 Ultra

      6 maj, 2025

      Test: Sennheiser HD 550

      7 april, 2025

      Test: Kingston FURY Renegade G5 SFYR2S/2T0

      28 juni, 2025

      Test: Sennheiser TeamConnect Bar S

      26 juni, 2025

      Test: Lenovo ThinkPad X9 Aura Edition

      20 juni, 2025

      Test: Xiaomi POCO F7 Ultra

      6 juni, 2025

      Test: Kingston FURY Renegade G5 SFYR2S/2T0

      28 juni, 2025

      Test: Kioxia Exceria Plus G4

      28 maj, 2025

      Test: AOC AGON PRO AG456UCZD

      21 maj, 2025

      Test: Cooler Master Masterliquid 360 ION & Hyper 612 APEX

      18 april, 2025

      Test: Logitech Ergo K860 vs. Microsoft Sculpt Ergonomic Keyboard

      19 augusti, 2021

      Vi utser den bästa multiskrivaren

      20 maj, 2021

      Test: Cooler Master Masterair MA624 Stealth och MA612 Stealth ARGB

      12 maj, 2021

      Test: Oneplus 9 Pro och Oneplus 9

      21 april, 2021

      Test: Kingston FURY Renegade G5 SFYR2S/2T0

      28 juni, 2025

      Test: Sennheiser TeamConnect Bar S

      26 juni, 2025

      Edge Computing i Onlinecasinon – När varje millisekund räknas

      21 juni, 2025

      VPN och onlinespel: Hur teknikkunniga spelare skyddar sin integritet

      20 juni, 2025
    • DMZ-riggen
    • Programtips
    • Gaming
    • Fråga experten
      • Hårdvara
      • Mjukvara
    • DMZ Retro
    • Shop
    • Om DMZ
      • Om Datormagazin
      • Annonsera
      • Nyhetsbrevet
      • Kundtjänst
      • Press & PR
    Facebook
    Datormagazin
    Hem » Fråga experten » Objektorientering i C
    Fråga experten

    Objektorientering i C

    redaktionenBy redaktionen5 september, 20072 Mins Read

    Fråga

    Hej,

    Vad menar man med att callbacks (funktionspekare) i C är en form av generisk programmering. Om jag fattat det rätt så är det C’s sätt att vara objektorienterat, eller?

    Svar

    Först och främst bör man hålla isär koncepten generisk programmering och objektorientering (OO). Generisk programmering är till för att man skall kunna designa och programmera något en gång, för att sedan låta kompilatorn generera implementationer för alla datatyper som kan tänkas behövas. Objektorientering är en samling av begrepp som innehåller bland annat typkontroll, arv, polymorfism och inkapsling av medlemmar och metoder. Ett språk kan ha mekanismer och syntaktiskt stöd för båda dessa koncept, men C har egentligen ingetdera. C++ är som du vet en utökning av C och där finns både generisk programmering (templates) och objektiorentering (klasser, arv, typkontroll m.m.). Även Objective-C är värt att nämna i detta sammanhang, fast det utökar endast C med objektorientering och inte med generisk programmering.

    Dock så stämmer det som du säger att funktionspekare ofta används för att efterlikna ett objektorienterat beteende. Strukturer och funktionspekare kan kombineras för att efterlikna klasser. Makron är vanligt när man vill simulera generisk programmering, men de är också ökända för att introducera svårfunna programfel.

    Man kan också förtydliga att callbacks i strikt mening inte är samma sak som en funktionspekare. En callback är en programmeringsmetod för att få ett meddelande när något inträffar i programmet, exempelvis när användaren trycker på en knapp. En funktionspekare är som vilken pekare som helst, med skillnaden att den pekar på en funktion. Ofta vill man kunna ange en speciell funktion (adress) att hoppa till när en callback inträffar, och då är funktionspekare mycket användbart.

    Om du är intresserad av att veta mer om hur objektorientering och generisk programmering kan simuleras, rekommenderar jag att du tittar på GLib och GObject (del av GTK+ biblioteket, www.gtk.org ).

    Share. Facebook Twitter LinkedIn Email WhatsApp

    Missa inte

    Fråga experten

    Konvertera till Windows 11

    8 november, 20211 Min Read
    linuxtips

    Minitips – Fånga ett fönster som rymt

    22 oktober, 20211 Min Read
    Fråga experten

    Hur får jag Wi-Fi genom betongvägg?

    26 augusti, 20212 Mins Read
    Fråga experten

    Hur kan jag slippa nätverkskabel till övervåningen?

    6 augusti, 20212 Mins Read
    Add A Comment

    Leave A Reply Cancel Reply

    Senaste kommentarerna
    • Andreas Rejbrand om Test: Samsung Galaxy watch 7
    • Petter om Test: Samsung Galaxy watch 7
    • Anders Öhman om Test: Samsung Galaxy watch 7
    • Tobias om Test: Samsung Galaxy watch 7
    • Anders om Test: HP Envy X360
    Fler nyheter

    Öka cybersäkerhetsmedvetenheten under cybersäkerhetsmånaden

    22 oktober, 2024

    Glorious Gamings Pro-möss lanseras i vit

    25 september, 2024

    Gen Z och kvinnor väljer mobilen framför sex

    25 september, 2024

    Många Svenska företag lever inte upp till sina visioner gällande hållbarhet.

    21 augusti, 2024

    Toppklass

    Test: Huawei Watch 5 & Fit 4 Pro

    15 maj, 2025

    Test: OnePlus 12

    23 februari, 2024

    Test: Philips Evnia 49M2C8900

    7 januari, 2024

    Test: Corsair Dominator Titanium DDR5

    28 september, 2023
      Kontaktinformation
      Kontaktinformation

      Omsoc Publishing AB
      Datormagazin
      Box 440 73
      100 73 Stockholm
      Sweden

      Telefonnummer: +46 8–208 118
      E-post: datormagazin@datormagazin.se

      Missa inte

      M.2 optimerad NAS-prestanda

      2 september, 2024

      WiFi 7 – När, var, hur & varför

      23 augusti, 2023

      TCS digitala tvillingar och deras prediktiva kraft.

      4 juli, 2023
      Datormagazin
      Facebook YouTube RSS
      • Om cookies
      • Hantering av personuppgifter
      • Köpvillkor www.datormagazin.se
      © 2025 Datormagazin/Omsoc Publishing AB, org-nr: 559034-9014 – Ansvarig utgivare: Anders Öhman

      Type above and press Enter to search. Press Esc to cancel.