Dart类的基础知识(一)
class DartBasicLei {
//dart 也是面向对象的语言,所以也继承,封装,多态的属性
//类中的属性
String title = '我是类的属性';
void printInfo () {
print(this.title);
}
}
void main() {
//调用类
DartBasicLei dartBasicLei = new DartBasicLei();
dartBasicLei.title = '改变了类里面的属性';
//调用类的方法
dartBasicLei.printInfo();
//回顾可选参数与类一起使用
var person = new Person('李伟','20');
person.setInfo('张强');
print(person.name);
// person._IdCard;//可以调用,因为在一个文件中
//调用getter方法,具体见Rect类 getter setter 不常用 因为完全可以用rect.height取代
Rect rect = new Rect(10, 20);
rect.areaHeight = 6;
rect.height = 8;
print(rect.area);
}
class Person {
String name;
String sex;
/** 构造函数 */
//默认构造函数
// Person () {
// print('这里是默认的构造函数');
// }
//带参数的构造函数
// Person (String name,String sex) {
// print('这里是默认的构造函数');
// this.name = name;
// this.sex = sex;
// }
//构造函数的简写
Person(this.name,this.sex);//效果跟上面一样
//命名构造函数 比如 var nowtime = new DateTime.now(); .now就是一个命名构造函数
Person.habit(){
print('我喜欢换篮球');
}
//注意 命名构造函数可以有多个 但是构造函数只能有一个比如下面的两个,第一个是不可以的,报错
// Person(String name) {
// this.name = name;
// }
//这个不会报错
Person.nameInfo(String name) {
this.name = name;
}
setInfo (String name,[sex='男']) {
this.name = name;
this.sex = sex;
}
/** 私有 公有*/
String _IdCard ;//_表示私有,当调用import的其他的类的_变量的时候就没法使用了,但是当前文件下是没问题的
void _getIdCard () {
print('这是我的身份证号');
}//如果想调用该私有方法,可以在私有方法的类中,写一个方法,然后共有方法调用私有方法即可如下面:
void getPrivateMethod () {//方法为公有
_getIdCard();
}
}
//getter 和 setter 的使用
class Rect {
double width;
double height;
Rect (this.width,this.height);
get area {
return width*height;
}//注意get修饰的方法 方法名字后面没有()
set areaHeight (value){
this.height = value;
}
}
//初始化赋值 没啥用了解下,别人这么写能看懂就行
class Animal {
String name;
String legsum;
Animal():name='狐狸',legsum='4条腿' {
print(name+legsum);//将输入 狐狸4条腿 说明在类初始化之前就已经赋值,因为构造函数是初始化就执行
}
}class DartBasicLei {
//dart 也是面向对象的语言,所以也继承,封装,多态的属性
//dart中的属性
String title = '我是类的属性';
void printInfo () {
print(this.title);
}
}
void main() {
//调用类
DartBasicLei dartBasicLei = new DartBasicLei();
dartBasicLei.title = '改变了类里面的属性';
//调用类的方法
dartBasicLei.printInfo();
//回顾可选参数与类一起使用
var person = new Person('李伟','20');
person.setInfo('张强');
print(person.name);
// person._IdCard;//可以调用,因为在一个文件中
//调用getter方法,具体见Rect类 getter setter 不常用 因为完全可以用rect.height取代
Rect rect = new Rect(10, 20);
rect.areaHeight = 6;
rect.height = 8;
print(rect.area);
}
class Person {
String name;
String sex;
/** 构造函数 */
//默认构造函数
// Person () {
// print('这里是默认的构造函数');
// }
//带参数的构造函数
// Person (String name,String sex) {
// print('这里是默认的构造函数');
// this.name = name;
// this.sex = sex;
// }
//构造函数的简写
Person(this.name,this.sex);//效果跟上面一样
//命名构造函数 比如 var nowtime = new DateTime.now(); .now就是一个命名构造函数
Person.habit(){
print('我喜欢换篮球');
}
//注意 命名构造函数可以有多个 但是构造函数只能有一个比如下面的两个,第一个是不可以的,报错
// Person(String name) {
// this.name = name;
// }
//这个不会报错
Person.nameInfo(String name) {
this.name = name;
}
setInfo (String name,[sex='男']) {
this.name = name;
this.sex = sex;
}
/** 私有 公有*/
String _IdCard ;//_表示私有,当调用import的其他的类的_变量的时候就没法使用了,但是当前文件下是没问题的
void _getIdCard () {
print('这是我的身份证号');
}//如果想调用该私有方法,可以在私有方法的类中,写一个方法,然后共有方法调用私有方法即可如下面:
void getPrivateMethod () {//方法为公有
_getIdCard();
}
}
//getter 和 setter 的使用
class Rect {
double width;
double height;
Rect (this.width,this.height);
get area {
return width*height;
}//注意get修饰的方法 方法名字后面没有()
set areaHeight (value){
this.height = value;
}
}
//初始化赋值 没啥用了解下,别人这么写能看懂就行
class Animal {
String name;
String legsum;
Animal():name='狐狸',legsum='4条腿' {
print(name+legsum);//将输入 狐狸4条腿 说明在类初始化之前就已经赋值,因为构造函数是初始化就执行
}
}