Domanda

Cosa significa astrazione dati si riferiscono a? Si prega di fornire esempi di vita reale alongwith.

È stato utile?

Soluzione

Astrazione ha due parti:

  • Nascondi dettagli che non importa da un certo punto di vista
  • identificare i dettagli che fanno la materia da un certo punto di vista e considerano gli elementi per essere di stesso di classe se in possesso di questi dettagli.

Per esempio, se io sono la progettazione di un programma per affrontare con l'inventario, mi piacerebbe essere in grado di scoprire quanti oggetti di un certo tipo il sistema ha in magazzino. Dal punto di vista del sistema di interfaccia, non mi importa se io sono sempre queste informazioni da un database, un file CSV, un repository remoto tramite un'interfaccia SOAP o schede perforate. Ho appena interessa che posso dire widget.get_items_in_stock() e so che restituisca un numero intero.

Se poi decido che voglio registrare quel numero in qualche altro modo, la persona progettare l'interfaccia non ha bisogno di sapere, la cura o preoccuparsi di più a lungo widget ha ancora il metodo get_items_in_stock(). Come saggio, l'interfaccia non ha bisogno di cure se una sottoclasse della classe di widget e aggiungere un metodo get_square_root_of_items_in_stock(). Posso passare un'istanza della nuova classe ad esso altrettanto bene.

Quindi, in questo esempio, abbiamo nascosto i dettagli di come i dati vengono acquisiti e ha deciso che qualsiasi cosa con un metodo get_items_in_stock() è un'istanza di stesso di classe ( o una sottoclasse della stessa) per determinati scopi.

Altri suggerimenti

astrazione dei dati è un apparecchio che si permette ai dati di trattare come gli esseri umani incontrano, piuttosto che come è memorizzato sul computer.

Al livello più basso, tutti i tipi di dati primitivi sono astrazioni - come i programmatori, che di solito non hanno a che fare con i dati a livello di bit (che è come è in ultima analisi, memorizzato), ma come numeri interi, numeri in virgola mobile, caratteri, ecc.

Abbiamo poi aggiungere strati su quella astrazione -. Forse due interi rappresenta un Point, o noi e le enumerazioni per rappresentare i mesi dell'anno, i giorni della settimana, etc

Con ogni livello di astrazione, ci spostiamo più lontano dalla macchina e (si spera) più vicino alla comprensione umana dei dati. Questo può estrarre una penalizzazione delle prestazioni - non può essere sempre il caso che i punti possono essere rappresentati in modo più efficiente da due numeri interi. Questo è compensata dallo sviluppo più breve (e manutenzione) momento in cui vengono utilizzati astrazioni.

La tecnica di creare nuovo tipo di dati che ben si presta ad un'applicazione da programmare è noto come astrazione dati.

Astrazione mezzi che forniscono solo informazioni essenziali per il mondo esterno e nascondono la loro details..examp sfondo. Nel computer ur u può vedere solo monitor, tastiera ND mouse..u non sapere nulla di cablaggio interno questo è l'astrazione.

astrazione dei dati sembra essere spiegato come la rottura dei dati verso il basso, per quanto si può ottenere. cibo sarebbe l'astrazione della mela, arancia, pizza. animale sarebbe l'astrazione del gatto, mucca, maiale. Un oggetto cibo sarebbe qualcosa come questo pseudo codice:

class food{

 name;
 calories;
 weight;

 public eat(name);

 }

tutti gli alimenti hanno un nome, la quantità di calorie, e un peso. Che è piuttosto astratto.

Si potrebbe poi fare oggetti che ereditano, che sarebbe un po 'meno astratto.

class pizza inherits food{

  toppings;

  say_toppings();

}

pizza ha ora condimenti, ma eredita il nome, le calorie, e il peso dal cibo.

fondamentalmente astrazione è stato spiegato come arrivare al livello più basso di ogni elemento e facendo le classi che si estendono da loro. Si rende il codice più riutilizzabile troppo ... Se hai Bade tua classe base di cibo abbastanza bene, e comprendeva tutto astratto su di esso tutti coloro che lavorano nel settore alimentare potrebbe usare la tua classe.

astrazione si nasconde lo scheletro del corpo umano . La pelle fa un ottimo modo di contenente di esso. (Vedi come abstract che io sia lì? Pun intended. Sto divagando ...)

Se ho una bottiglia d'acqua, poi io sono in grado di bere da esso aprendo il coperchio, ruotando fino a quando non salta fuori.

bool lid_open = false;
void open_water_bottle_by_twisting() { lid_open = true; }

Ma le bottiglie d'acqua sono contenitori. Contenitori tenere liquidi fino a quando diventano aperti e sono in grado di essere bevuto (supponendo che il liquido è potabile).

class Container 
{ 
    bool lid_open = false;

protected: 
    Container() {}
    void open_by_twisting()
    {
        lid_open = true;
    }
public:
    virtual ~Container();
};

class WaterBottle : public Container
{
    WaterBottle() : Container() {}
public:
    ~WaterBottle();
};

Tuttavia, non tutti i contenitori vengono aperti nello stesso modo. Alcuni contenitori, come la borraccia, hanno coperchi che possono essere intrecciati off. Altri non hanno coperchi, come le bottiglie di esercizio - quelli contengono cannucce bendy che possono essere giù piegato per la conservazione o per bere.

class Container 
{ 
    bool lid_open;
    bool straw_open;

protected:
    void TurnLid() { lid_open = true; }
    void BendStraw() { straw_open = true; }
    Container() : lid_open(false), straw_open(false){}

public:
    virtual void open() = 0;
    virtual ~Container();
};

class WaterBottle : public Container
{

public: 
    WaterBottle() : Container() {}
    void open()
    {
        TurnLid();
    }
    ~WaterBottle();
};

class ExerciseBottle : public Container
{
public:
    ExerciseBottle() : Container() {}
    void open()
    {
        BendStraw();
    }
    ~ExerciseBottle();
};

Ma il cliente non sa quello che l'implementazione di ExerciseBottle di ExerciseBottle di open() è. Chiede BendStraw(), che quindi imposta straw_open su true. Ma ExerciseBottle chiama semplicemente una funzione per fare tutto questo lavoro. Il cliente non deve eseguire diverse azioni che vengono utilizzati nella realizzazione di open(). Il caso va in modo simile per WaterBottle. E questo è ciò che l'astrazione è : far conoscere al cliente che il back-end farà tutto il lavoro per esso . Quando si usa il termine "che separa implementazione dall'interfaccia", questo è ciò che si intende.

È il complesso sistema che utilizza i dati particolari che sono facili da interagire o incontro con gli esseri umani, che si differenziano dal modo in cui negozi di sistema del computer come ad esempio nel sistema numerico binario. Risposto da Neema, Rohan e Upendo (I programmatori)

La tecnica di limitare gli attributi dei dati in base al dato scenario per lo sviluppo di software e la rimozione di tutti i attributes.This irrilevanti rende più semplice lo sviluppo di software.

Let fare un esempio di vita reale di un televisore che si può accendere e spegnere, cambiare canale, regolare il volume, e aggiungere componenti esterni, come altoparlanti, videoregistratori e lettori DVD, ma non si sa che è particolare interno che è, non si sa come si riceve i segnali via etere o tramite un cavo, come li traduce, e, infine, mostra loro sullo schermo.

Si riferisce all'atto di rappresentare caratteristica essenziale senza includere dettaglio sfondo o la spiegazione

E 'difficile trovare giorno per esempio di vita giorno di dati astrazione. Tuttavia, qualsiasi tipo di dati in linguaggio di programmazione, tavoli e vista in DBMS, strutture di dati, come LinkedList, Lista, Coda, Catasta sono astrazioni di dati. Queste astrazioni si forniscono il modo per accedere ai dati in modo particolare.

Questo articolo può aiutare a capire l'astrazione dei dati e il controllo di astrazione in profondità. Ha anche alcuni dei veri esempi di vita di controllo e di dati astrazioni.

L'astrazione si riferisce all'atto di rappresentare le caratteristiche essenziali senza includere dettaglio sfondo o spiegazione.

semplicemente i dati di astrazione non è altro che il nascondiglio datails inutili da utente. Esempio: persona vuole semplicemente fare una telefonata, ha appena selezionare o no comporre. e fare clic sul pulsante di chiamata queste informazioni. è sufficiente per him.He non volete sapere su come il collegamento è fatto e qualsiasi processo dietro la fabbricazione della chiamata o il modo vocale viene trasferito.

So che questa domanda è stato chiesto molto tempo fa. Ma ancora piace condividere un esempio di vita reale che gli altri potrebbero aiutare a capire il concetto di abstraction molto facilmente.

  

A analogia mondo reale del lavoro di astrazione potrebbe in questo modo: (l'oggetto) sta organizzando per incontrare un appuntamento al buio e stanno decidendo cosa dire loro in modo che possano riconoscerti nel ristorante. Si decide di includere le informazioni su dove sarà situato te, la tua altezza, colore dei capelli, e il colore della giacca. Si tratta di tutti i dati che aiuteranno la procedura (la data si trovare) il lavoro senza intoppi. Si dovrebbe includere tutte queste informazioni. D'altra parte, ci sono un sacco di bit di informazioni su di voi che non sono relative a questa situazione: il vostro numero di previdenza sociale, i tuoi calciatori preferiti sono tutte irrilevanti per questa particolare situazione, perché non aiuterà la data per trovare te.

Dati Abstraction: Viene utilizzato per fornire le informazioni necessarie per l'utente e nascondere le informazioni non necessarie da parte dell'utente. Si chiama astrazione dei dati. Si nasconde la logica di business al di fuori del mondo.

Esempio tecnica: Console.WriteLine();

Esempio non tecnico:. TV a distanza, a distanza dell'automobile

Più particolare: dati Abstraction in tempo reale esempio

nascondiglio dati distribuisce le funzionalità di protezione di oops. in base a questa proprietà del membro dati privati ??di una classe è accessibile o visivo solo all'interno della classe non al di fuori della classe.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top