面向对象的语义特征
类型
- 基础数据类型
- 整型
- 浮点型
- 字符
扩展数据类型
类的作用域:整个程序
对象成员的作用域:
对象:创建之后,销毁之前
- 成员变量:创建之后,销毁之前(引用了从堆中申请的内存除外)
- 静态成员
classBody : ‘{‘ classBodyDeclaration* ‘}’ ;
classBodyDeclaration : ‘;’ | memberDeclaration ;
memberDeclaration : functionDeclaration | fieldDeclaration ;
functionDeclaration : typeTypeOrVoid IDENTIFIER formalParameters (‘[‘ ‘]’)* (THROWS qualifiedNameList)? functionBody ;
```javascript
/*
简单的面向对象特性。
*/
class Mammal{
//类属性
string name = "";
//构造方法
Mammal(string str){
name = str;
}
//方法
void speak(){
println("mammal " + name +" speaking...");
}
}
Mammal mammal = Mammal("dog");
mammal.speak(); //访问对象方法
println("mammal.name = " + mammal.name); //访问对象的属性
//没有构造方法,创建的时候用缺省构造方法
class Bird{
int speed = 50; //在缺省构造方法里初始化
void fly(){
println("bird flying...");
}
}
Bird bird = Bird(); //采用缺省构造方法
println("bird.speed : " + bird.speed + "km/h");
bird.fly();