{"id":1041,"date":"2023-05-25T16:28:39","date_gmt":"2023-05-25T14:28:39","guid":{"rendered":"https:\/\/bitcamp.it\/blog\/?p=1041"},"modified":"2023-05-25T16:28:41","modified_gmt":"2023-05-25T14:28:41","slug":"abstract-class","status":"publish","type":"post","link":"https:\/\/bitcamp.it\/blog\/glossario\/abstract-class\/","title":{"rendered":"Abstract Class"},"content":{"rendered":"\n<p>Una <strong>classe astratta<\/strong> \u00e8 un tipo di classe che non pu\u00f2 essere istanziata, ovvero non pu\u00f2 creare oggetti, e che definisce una\u00a0interfaccia senza implementarla completamente<br>La classe, in generale, viene utilizzata come modello o blueprint per altre classi e pu\u00f2 contenere sia metodi astratti (metodi senza implementazione) sia metodi non astratti (metodi con implementazione).<br><br>Una classe astratta, invece, serve come base di partenza per <strong>generare una o pi\u00f9 classi <\/strong>specializzate aventi tutte la stessa interfaccia di base. Le sottoclassi potranno poi essere utilizzate indifferentemente da applicazioni che conoscono l&#8217;interfaccia base della classe astratta.<br><br>Per sintetizzare, quando viene definita una classe astratta il programmatore deve tener presente che si tratta di una classe che <strong>non pu\u00f2 essere istanziata<\/strong> direttamente; per fare ci\u00f2 \u00e8 necessario creare una classe derivata mediante l&#8217;ereditariet\u00e0. Questo processo di astrazione ha lo scopo di creare una struttura base che semplifica il processo di sviluppo del software o che indirizza la programmazione delle classi figlie.<br><br>Esempi di classi astratte includono tipi di dati astratti, come liste e code, e interfacce, etc.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Una classe astratta \u00e8 un tipo di classe che non pu\u00f2 essere istanziata e che definisce una\u00a0interfaccia senza implementarla completamente<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[20],"class_list":["post-1041","post","type-post","status-publish","format-standard","hentry","category-glossario","tag-a"],"_links":{"self":[{"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/posts\/1041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/comments?post=1041"}],"version-history":[{"count":1,"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/posts\/1041\/revisions"}],"predecessor-version":[{"id":1042,"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/posts\/1041\/revisions\/1042"}],"wp:attachment":[{"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/media?parent=1041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/categories?post=1041"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/tags?post=1041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}