Ereditarietà CSS
This entry was posted on June 25th, 2009 and is filed under CSS, programmazione.
Il post di oggi è di “preparazione” all’articolo che presenterò domani sempre tratto da Merlinox’s Blog. Quello di oggi tratterà dell’ereditarietà del CSS, quella brutta parola con cui tutti coloro che si addentrano nei meandri della programmazione ad oggetti hanno a che fare e che, all’inizio, sembra qualcosa di insormontabile.
Come sempre andiamo per gradi. Prima di entrare nel vivo dell’articolo definiamo più precisamente cosa si intende, in un linguaggio di programmazione ad oggetti, con il concetto di ereditarietà.
Quando iniziamo ad imparare cos’è un linguaggio OOP (Object Oriented Programming) la prima cosa che ci viene spiegata è il ragionamento a classi. Soprattutto se iniziamo ad usare il Java, il concetto di classe è qualcosa che deve esserci chiaro in mente. Una classe altro non è che un contenitore di attributi e metodi comuni a più oggetti. Un oggetto, invece, altro non è che un’istanza della classe. Dato che comunque l’obiettivo di questo articolo non è insegnare la programmazione ad oggetti mi fermo qui consigliando, a chi è interessato all’argomento, di leggere un articolo scritto qualche giorno fa proprio sull’argomento. Tornando alle classi; ora che sappiamo cos’è una classe, possiamo definirne le proprietà:
- Incapsulamento
- Polimorfismo
- Ereditarietà
E’ proprio di quest ultima che mi voglio occupare. L’ereditarietà di una classe consiste appunto nell’ “ereditare” dalla classe padre tutti gli attributi e i metodi contenuti in essa. Ovvio che oltre ad ereditare è anche in grado di contenere al suo interno nuovi attributi e nuovi metodi o di modificare metodi già esistenti al fine di ampliare le sue potenzialità. E’ come se in una famiglia ci fosse un padre ed un solo figlio; il figlio eredita dal padre (sempre sperando che non ci siano divorzi ed alimenti da pagare
) tutti i suoi beni e, in più, è in grado di acquistare altri beni di sua unica proprietà o di modificare i beni ereditati.
Questo concetto di ereditarietà è qualcosa che anche il CSS, linguaggio non prettamente di programmazione, contiene al proprio interno. Purtroppo però la maggior parte dei designer non la utilizzano molto non essendo abituati a “ragionare ad oggetti”. Ebbene si, chi proviene da una scuola OOP vede tutto ad oggetti! Anche nella vita reale
Questa caratteristica però, se ben utilizzata, consente di risparmiare molto tempo e molte righe di codice evitando di ridefinire proprietà già attribuite a classi precedenti.
Per chi fosse interessato all’argomento, consiglio di leggere questo articolo trovato sul blog di Merlinox, che spiega il funzionamento dell’ereditarietà e integra al suo interno una serie di “giochetti” che consentono di comprendere meglio il concetto. L’articolo è raggiungibile al seguente link:
Via | Merlinox’s Blog














June 25, 2009 at 8:19 am
Alla fine, caro Simone, l’approccio ai CSS migliore può essere quello in usa filosofia OOP. Dopo, se posso permettermi, bisogna sempre bilanciare “L’investimento” di programmazione.
Se stai facendo un sito che per certo non cambierà mai, magari è meglio evitare di perdere 4 ore per fare il CSS perfetto
June 25, 2009 at 9:51 am
Bè il discorso “investimento” va sempre fatto non solo sul CSS ma sull’intero progetto. E’ ovvio che sono molte le cose a cui uno dovrebbe evitare di perdere tempo quando il progetto non lo richiede.
Nonna ancora oggi me lo dice “impara l’arte e mettila da parte”
(Script per il backup automatico se un sito è statico, css superfigo come tu hai detto, ecc..). Però di una cosa sono certo, imparare non ti fa mai male!
Grazie comunque del commento e soprattutto del consiglio. Fa sempre piacere scambiare quattro chiacchiere!
June 26, 2009 at 8:23 am
Certo è importante. Però magari pensa ad aggiungere anche la notifica email ai commenti che è importante
Ricordo ancora il passaggio dai siti a tabelle ai tableless… oggi come oggi ci metto meno a farlo tableless
June 26, 2009 at 8:47 am
Credo ci siano problemi con l’invio delle mail….controllo subito!
Cmq son d’accordo anche con i tableless. Ormai anche a ragionamento, credo che perderei più tempo a capire quante righe e colonne ci vorrebbero per fare un layout piuttosto che usare i div!