Skip to content

Commit

Permalink
explain better trait vs class
Browse files Browse the repository at this point in the history
  • Loading branch information
bjornregnell committed Nov 14, 2023
1 parent 69d92b6 commit fed7485
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions slides/body/lect-w10-extends.tex
Original file line number Diff line number Diff line change
Expand Up @@ -905,7 +905,7 @@
\label{slideW07:traitorclass}%
\begin{multicols}{2}
\noindent Använd en \Emph{trait} om...
\begin{itemize}
\begin{itemize}\SlideFontTiny
\item ...du är osäker på vilket som är bäst. (Du kan alltid ändra till en abstrakt klass senare.)
\item ...du vill kunna mixa in din trait tillsammans med andra traits.
\item ...du vill göra din trait, om inmixad, transparent vid typhärledning.
Expand All @@ -915,10 +915,11 @@

\columnbreak

\noindent Använd en \Alert{abstrakt klass} om...
\begin{itemize}
\item ...du vill begränsa inmixning.
\item ...du vill ärva supertypen från klasser skrivna i Java.
\noindent Använd en (abstrakt) \Alert{klass} om...
\begin{itemize}\SlideFontTiny
\item ...du vill begränsa inmixning -- man kan bara ärva från en enda klass.
\item ...du vill vidarebefordra parameter till supertyp (se nästa bild).
\item ...du vill ärva din klass i Java-kod.
\item ...du vill minimera tid för omkompilering vid ändringar (spar tid vid stora projekt).
\end{itemize}
\end{multicols}
Expand Down

0 comments on commit fed7485

Please sign in to comment.