类 对象 继承 参数化类型 特质 模式匹配(match case类) 包

类的定义

构造器

//代码文件为/usr/local/scala/mycode/Counter2.scala
class Counter {private var value = 0 private var name = ""
private var step = 1 //计算器的默认递进步长
println("the main constructor")def this(name: String){ //第一个辅助构造器this() //调用主构造器this.name = nameprintf("the first auxiliary constructor,name:%s\n",name)}def this (name: String,step: Int){ //第二个辅助构造器this(name) //调用前一个辅助构造器this.step = step
printf("the second auxiliary constructor,name:%s,step:%d\n",name,step)}def increment(step: Int): Unit = { value += step}def current(): Int = {value}
}

单例对象

//代码文件为/usr/local/scala/mycode/Person1.scala
class Person(val name:String){private val id = Person.newPersonId() //调用了伴生对象中的方法def info() {printf("The id of %s is %d.\n",name,id)}
}
object Person {private var lastId = 0  //一个人的身份编号def newPersonId() = {lastId +=1lastId}def main(args: Array[String]) {val person1 = new Person("Lilei")val person2 = new Person("Hanmei")person1.info()person2.info()}
}

特质

//代码文件为/usr/local/scala/mycode/Bird2.scala
trait Flyable {var maxFlyHeight:Int  //抽象字段def fly() //抽象方法
def breathe(){ //具体的方法println("I can breathe")}}
trait HasLegs {val legs:Int   //抽象字段def move(){printf("I can walk with %d legs",legs)}}
class Animal(val category:String){def info(){println("This is a "+category)}
}
class Bird(flyHeight:Int) extends Animal("Bird") with Flyable with HasLegs{
var maxFlyHeight:Int = flyHeight //重载特质的抽象字段
val legs=2 //重载特质的抽象字段def fly(){
printf("I can fly at the height of %d",maxFlyHeight)
}//重载特质的抽象方法
}

match语句

//代码文件为/usr/local/scala/mycode/TestMatch1.scala
import scala.io.StdIn._
println("Please input a country:")
val country=readLine()
country match{case "China" => println("中国")case "America" => println("美国")case "Japan" => println("日本")case _ => println("我不认识!")
}

spark编程基础--2.3面向对象编程基础相关推荐

  1. 【Python基础】Python 面向对象编程(上篇)

    我的施工计划图 已完成专题包括: 1我的施工计划 2数字专题 3字符串专题 4列表专题 5流程控制专题 6编程风格专题 7函数使用专题 今天是面向对象编程的上篇:基础专题 Python 面向对象编程 ...

  2. 【Python基础】Python 面向对象编程(下篇)

    已完成专题 1我的施工计划 2数字专题 3字符串专题 4列表专题 5流程控制专题 6编程风格专题 7函数使用 8.面向对象编程(上篇) 上一篇面向对象编程(上篇)讨论了面向对象编程的基础部分,使用案例 ...

  3. Java基础教程:面向对象编程[2]

    Java基础教程:面向对象编程[2] 内容大纲 访问修饰符 四种访问修饰符 Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java 支持 4 种不同的访问权限. default ...

  4. JavaScript基础系列之四 面向对象编程

    JavaScript基础系列之四 面向对象编程 面向对象编程 JavaScript的所有数据都可以看成对象,那是不是我们已经在使用面向对象编程了呢? 当然不是.如果我们只使用Number.Array. ...

  5. python对象编程例子-Python3.5面向对象编程图文与实例详解

    本文实例讲述了Python3.5面向对象编程.分享给大家供大家参考,具体如下: 1.面向过程与面向对象的比较 (1)面向过程编程(procedural programming) 面向过程编程又被称为: ...

  6. C# 篇基础知识3——面向对象编程

    面向过程的结构化编程,例如1972年美国贝尔研究所推出的C语言,这类编程方式重点放在在定函数上,将较大任务分解成若干小任务,每个小任务由函数实现,分而治之的思想,然而随着软件规模的不断扩张,软件的复杂 ...

  7. [Python]学习基础篇:面向对象编程

    面向对象编程 是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针.它可能包含数据.属性.代码与方法.对象则指的是类的实例.它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用 ...

  8. [转载] Python3基础:08_02_面向对象编程(OOP)——类和对象

    参考链接: Python中的面向对象编程OOP | 3(继承,对象示例,issubclass和super) 0.前言   这篇博文将讲述Python面向对象开发中的类与对象的概念,包括对类和对象的理解 ...

  9. python类和对象基础_Python(基础)---类和面向对象编程

    一.类的基本概念 1.1 什么叫类 python是一门高级语言,与汇编不同,它的语法规则更贴近于我们的现实生活. 而类就是对现实生活中实际事物的抽象,例如:汽车,人,动物等抽象概念,这些抽象出来的东西 ...

  10. Python基础之 7. 面向对象编程基础

    1. 概述 如今主流的软件开发思想有两种:一个是面向过程,另一个是面向对象.面向过程出现得较早,典型代表为C语言,开发中小型项目的效率很高,但是很难适用于如今主流的大中型项目开发场景.面向对象则出现得 ...

最新文章

  1. java 持续集成工具_Jenkins集成式项目控件下载
  2. android 模拟长按菜单键_如何采用PLC梯形图实现单键启动程序
  3. 如何对RTSP播放器做功能和性能评估
  4. CentOS提示另一个目前运行的程序正在访问软件信息
  5. cordova 安装ssl证书_超详细cordova环境配置(windows)及实例
  6. Selenium自动化测试-浏览器基本操作
  7. java计算两个字符串格式的时间间隔多少天多少小时多少分钟
  8. Hbase安装使用与入门学习
  9. sublime text配置VBA编辑器插件
  10. Highcharts-制作图表的js库
  11. 计算机协会维修照片,照片门事件后,当年那个毁了陈冠希的电脑修理员,如今变成这样!...
  12. CAD等分不显示等分点
  13. DB2数据库报错SQL1116N
  14. RK3288 资源汇总
  15. 练习HTML——简单的网页设计
  16. 用几何画板怎么作函数图像
  17. 水滴筹、轻松筹死磕健康保
  18. [附源码]Nodejs计算机毕业设计京津冀畅游网设计Express(程序+LW)
  19. 世纪佳缘发布婚恋观报告 “90”后和高学历人群更焦虑
  20. 如何快速转行产品经理 少走弯路

热门文章

  1. 使用ubuntu(18.04) 作为软路由器连接互联网
  2. oracle与mysql创建表时的区别
  3. RTMP协议中的Chunk Stream ID (CID)的作用
  4. POJ 3258:River Hopscotch (最大化最小值)
  5. JavaScript简单重写构造器的原型
  6. [python]关于字符串查找和re正则表达式的效率对比
  7. 用JavaScript获取一个超链接的绝对URL地址
  8. 转:45 Useful JavaScript Tips, Tricks and Best Practices
  9. Android使用ListView控件问题
  10. C#.NET 上传图片时怎样限制文件格式