{"type":"rich","provider_url":"https://hatena.blog","categories":["Scala"],"version":"1.0","description":"\u30b3\u30fc\u30c9 scala> abstract class Engineer { | def work():Unit | } defined class Engineer scala> class Programmer(name:String,age:Int) extends Engineer { | def work() = printf(\"%s(%d)\u3055\u3093\u306f\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3057\u307e\u3059\",name,age) | } defined class Programmer scala> val p = new Programmer(\"taro\", 25) p: Programmer = Programmer@c32\u2026","image_url":"http://ecx.images-amazon.com/images/I/315Gw-Mz1PL._AA180_.jpg","provider_name":"Hatena Blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.shigemk2.com%2Fentry%2F2014%2F02%2F23%2FScala%25E3%2581%25AE%25E7%25B6%2599%25E6%2589%25BF\" title=\"Scala\u306e\u7d99\u627f - by shigemk2\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","width":"100%","published":"2014-02-23 17:26:55","author_name":"shigemk2","blog_url":"https://www.shigemk2.com/","url":"https://www.shigemk2.com/entry/2014/02/23/Scala%E3%81%AE%E7%B6%99%E6%89%BF","author_url":"https://blog.hatena.ne.jp/shigemk2/","height":"190","blog_title":"by shigemk2","title":"Scala\u306e\u7d99\u627f"}