<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"></div><div dir="ltr">We get taught to subclass something when we need an object with custom behavior, but that isn’t always the best plan. With simple (VM-primitive) things, you’re better off creating a class and then sticking the smallint in an instance variable. </div><div dir="ltr"><br></div><div dir="ltr">Basically: there’s usually not a need to subclass classes that represent primitive values. Just use instances of them in your own class based on Object or anything you want to inherit from. </div><div dir="ltr"><br>On Apr 26, 2019, at 11:55 PM, Alex Schenkman via Cuis-dev <<a href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>> wrote:<br><br>I cut out some graphics from the below for bandwidth purposes. (—Casey)</div><blockquote type="cite"><div dir="ltr">    <meta name="viewport" content="width=device-width,initial-scale=1"> <!--[if gte mso 9]>
    <xml>
      <o:OfficeDocumentSettings>
        <o:AllowPNG/>
        <o:PixelsPerInch>96</o:PixelsPerInch>
     </o:OfficeDocumentSettings>
    </xml>
    <![endif]-->  <style>body {-webkit-animation:bugfix infinite 1s;}@-webkit-keyframes bugfix {from {position:relative;}to {position:relative;}}</style>   <style>a {word-wrap:normal;word-break:break-word;}.background-contain {background-size:contain;}@media only screen and (max-width:600px) {.container {-webkit-text-size-adjust:none !important;}.container,.palm-one-whole {width:100% !important;min-width:100% !important;}.palm-one-half {width:50% !important;min-width:50% !important;box-sizing:border-box;}blockquote .container,blockquote .container div,blockquote .container table {width:auto !important;min-width:0 !important;position:relative !important;}img {max-width:100%;}.border-outer,.border-middle,.border-inner,.inner,[title="separator"] {width:100% !important;}.innercell {padding:8px !important;}.palm-block {display:block !important;}td.palm-one-whole {display:inline-block !important;padding:0;}td.palm-one-whole:first-child:not(:only-child) {margin-bottom:16px;}td.hostname {padding-top:3px !important;}}@media only screen and (min-width:601px) {.preview-card {max-width:600px !important;}}@media only screen and (min-device-width :320px) and (max-device-width :568px),only screen and (min-device-width :768px) and (max-device-width :1024px),only screen and (max-device-width:640px),only screen and (max-device-width:667px),only screen and (max-width:480px){.container {width:100% !important;min-width:100% !important;}.p,.small,li,font[size="2"],font[size="3"] {font-size:1em !important;}}@media only screen and (min-device-width :320px) and (max-device-width :568px),only screen and (min-device-width :768px) and (max-device-width :1024px),only screen and (min-device-width :1224px)  {.message-wrapper {padding-top:6px;}.apple-only[style] {display:block !important;max-height:none !important;line-height:normal !important;overflow:visible !important;height:auto !important;width:100% !important;position:relative !important;}.no-apple {display:none !important;}form {font-size:inherit;}input[type="text"] {height:43px;padding-left:4px !important;}button:hover {cursor:pointer;}}@media only screen and (min-device-width :1224px)  {.apple-mail-form {display:block !important;background-color:white !important;}}* [office365] .outlook-com-hidden {display:none !important;}* [office365] .outlook-com-button {display:block;}* [office365] .outlook-com-only {display:block !important;max-height:none !important;line-height:normal !important;overflow:visible !important;height:auto !important;width:100% !important;position:relative !important;}.ExternalClass {width:100%;}.ExternalClass .outlook-com-button {display:block;}.ExternalClass button {height:auto;}.ExternalClass .outlook-com-hidden {display:none !important;}.ExternalClass .outlook-com-only {display:block !important;max-height:none !important;line-height:normal !important;overflow:visible !important;height:auto !important;width:100% !important;position:relative !important;}.ExternalClass .ecxlabels {display:none !important;}.ExternalClass .ecxlabels {display:none !important;}.ExternalClass .ecxarrow {display:none !important;}.ExternalClass cite >div + div {padding:0 0 4px 0;}.ExternalClass .h1 {padding-bottom:5px;}.ExternalClass .h2 {padding-bottom:5px;}.ExternalClass .h3 {padding-bottom:5px;}.ExternalClass [lang="brand-pinterest"] {width:280px !important;}</style> <!--[if (gte mso 9)|(IE)]>
    
    <style>
      a, body {
        font-family: 'Calibri', Arial, sans-serif;
      }
    
      img {
        border: none !important;
        -ms-interpolation-mode:bicubic;
      }
    
      td {
        mso-line-height-rule:exactly !important;
      }
    
      .mso-card-inner table {
        border-collapse: collapse !important;
        mso-table-lspace:0pt;
        mso-table-rspace:0pt;
        vertical-align: top;
      }
    
      .outlook-com-only {
        display: none !important;
        font-size: 0 !important;
      }
    
      #mso-one-whole {
        width: 100% !important;
      }
    
    
    
        .border-outer,
        .border-middle,
        .border-inner {
          border: none !important;
        }
    
        .border-middle,
        .border-inner {
          width: 100% !important;
        }
    
        .mso-border-outer,
        .mso-border-middle,
        .mso-border-inner {
          padding: 1px;
        }
    
        .mso-border-outer { background-color: rgb(245, 255, 255); }
        .mso-border-middle { background-color: rgb(223, 246, 255); }
        .mso-border-inner { background-color: rgb(153, 176, 225); }
    
    </style>
    
    <![endif]--> <table class="container" lang="container" dir="ltr" border="0" cellpadding="0" cellspacing="0" valign="top" style="width:100%;margin-top:6px"> <tbody><tr> <td valign="top" class="message-wrapper" style="line-height:1.31;color:#222;font-family:arial,sans-serif"> <!--[if mso]><table width="590" border="0" cellpadding="0" cellspacing="0" valign="top" style="width:590px;border-collapse:separate;"><tr><td valign="top"><![endif]--> <div style="max-width:590px"><font face="'proxima-nova', 'Avenir Next', 'Segoe UI', 'Calibri', 'Helvetica Neue', Helvetica, Arial, sans-serif" size="3" style="font-size:1.09em">Subclassing SmallInteger for representing numerical things?</font></div><div style="max-width:590px"><font face="proxima-nova, "Avenir Next", "Segoe UI", Calibri, "Helvetica Neue", Helvetica, Arial, sans-serif"> <!--[if mso]>
<table class="mso-card-v3" width="578" cellpadding="0" cellspacing="0" style="border:1px solid #f5ffff">
  <tr>
    <td style="border:1px solid #d5ecff; background-color:#99b0e1; padding:1px;">
<![endif]--> <table id="" class="card-v3" cellpadding="0" cellspacing="0" style="border:1px solid #f5ffff;border-radius:4px;width:100%;max-width:578px;mso-border-alt:none;font-style:normal;font-weight:normal;font-variant:normal;line-height:normal"> <tbody><tr style="border:1px solid #d5ecff;mso-border-alt:none;display:inline-block;border-radius:3px;width:100%"> <td style="display:block;width:100%;box-sizing:border-box;padding:8px;border-radius:2px;border:1px solid #99b0e1;font-size:0;vertical-align:top;background-color:white;mso-border-alt:none;position:relative"> <table width="100%" border="0" cellpadding="0" cellspacing="0" valign="top" style="border-collapse:separate;text-align:left"> <tbody><tr class=""><br><td class="palm-one-whole" rowspan="" valign="top" style="font-size:13px;width:px"> <table width="100%" class="inner" border="0" cellpadding="0" cellspacing="0" valign="top" style="border-collapse:separate;font-size:13px"> <tbody><tr> <td valign="top" style="padding:"> <table cellpadding="0" cellspacing="0" valign="top" style="border-collapse:collapse"> <tbody><tr> <td colspan="2" valign="top" style="min-width:100%;padding-bottom:2px;font-size:16px;line-height:22px;font-weight:600;font-family:'Avenir Next','Segoe UI','Calibri',Arial,sans-serif"> <a href="https://stackoverflow.com/q/55875720/2003429?sem=2" target="_blank" style="text-decoration:none;display:block;color:#333;border:none"> Subclassing SmallInteger for representing numerical things? </a> </td> </tr> <tr> <td colspan="2" valign="top" style="min-width:100%;padding-bottom:4px;font-size:13px;line-height:17px;font-family:'Segoe UI','Helvetica Neue',Helvetica,'Calibri',Arial,sans-serif"> <a href="https://stackoverflow.com/q/55875720/2003429?sem=2" target="_blank" style="text-decoration:none;display:block;color:#333;border:none"> I want to represent a telefon country code (like 46 for Sweden or 54 for Argentina). </a> </td> </tr> </tbody></table> </td> </tr> </tbody></table> </td> </tr><tr> <td valign="bottom"> <table width="100%" border="0" cellpadding="0" cellspacing="0" valign="top" style="border-collapse:separate"> <tbody><tr> <td valign="bottom" style="line-height:11px;font-family:'Avenir Next','Segoe UI','Calibri',Arial,sans-serif" class="hostname"> <a style="color:#aab;display:block;font-size:11px;margin:0;letter-spacing:1px;padding-left:1px;text-decoration:none;text-transform:uppercase" href="https://stackoverflow.com/q/55875720/2003429?sem=2" target="_blank">stackoverflow.com</a> </td> <td align="right" valign="bottom"> <a href="https://mixmax.com/r/QwZAAuxtBaRq6LuT9" style="display:block;vertical-align:top;font-size:0" target="_blank"> <img src="https://emailapps.mixmax.com/img/badge_mixmax.png" align="top" height="20" style="display:block" alt="Mixmax" border="0"> </a> </td> </tr> </tbody></table> </td> </tr> </tbody></table> </td> </tr> </tbody></table> <!--[if mso]>
    </td>
  </tr>
</table>
<![endif]--> </font></div><div style="max-width:590px"><font face="'proxima-nova', 'Avenir Next', 'Segoe UI', 'Calibri', 'Helvetica Neue', Helvetica, Arial, sans-serif" size="3" style="font-size:1.09em"><br></font></div><div style="max-width:590px"><font face="'proxima-nova', 'Avenir Next', 'Segoe UI', 'Calibri', 'Helvetica Neue', Helvetica, Arial, sans-serif" size="3" style="font-size:1.09em">Thank you!</font></div><div style="max-width:590px"><br></div><div class="mixmax_signature" style="max-width:590px"><div style="max-width:590px"><br></div><div style="max-width:590px"><font face="proxima-nova, Avenir Next, Segoe UI, Calibri, Helvetica Neue, Helvetica, Arial, sans-serif" size="1">Alex Schenkman</font></div><div style="max-width:590px"><font color="#222222" style="background-color:rgb(255,255,255)" face="proxima-nova, Avenir Next, Segoe UI, Calibri, Helvetica Neue, Helvetica, Arial, sans-serif" size="1">Tel.: +46 (0)70-295 1723</font></div></div><img align="left" width="0" height="0" style="border:0;width:0px;height:0px" src="https://track.mixmax.com/api/track/v2/7mACLbnYqIIg3dHsR/i8mZulmLuFWbr5WZoN2cAhXZsFmI/iQ3cuMXa1NmLzR3cpxGQ2VGZtMXa1NmI/isGbhRHbsFWbTBycpV3QgY2bg42bpN3c1N2cpRkI?sc=false" alt=""> <!--[if mso]></td></tr></table><![endif]--> </td> </tr> </tbody></table>   </div></blockquote><blockquote type="cite"><div dir="ltr"><span>-- </span><br><span>Cuis-dev mailing list</span><br><span><a href="mailto:Cuis-dev@lists.cuis.st">Cuis-dev@lists.cuis.st</a></span><br><span><a href="https://lists.cuis.st/mailman/listinfo/cuis-dev">https://lists.cuis.st/mailman/listinfo/cuis-dev</a></span><br></div></blockquote></body></html>