Dart语言零基础学习笔记(十)

面向对象的三个基本特征

三大基本特征:封装、继承、多态

请添加图片描述
1、封装:封装时对象和类 的主要特征,就是将对象的属性和实现细节封装成抽象的类,仅对外公开自己的部分属性和方法,给其他的对象;控制在程序中属性的读和修改的访问级别,将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

2、继承:继承是面向对象的基本特征之一,继承机制允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
继承有两种,一种是实现继承,另一种是接口继承。
实现继承:可以直接使用基类的属性和方法,无需额外编码。
接口继承:是指使用属性和方法的名称,但是子类必须提供实现的能力。

3、多态:多态同一个行为具有多个不同表现形式或形态的能力。是指一个类实例(对象)的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用结构的对象可以共享相同的外部接口。

Dart是一门实用类和单继承的面向对象语言,所有东西都是对象,所有的对象都是类的实例,并且所有的类都是Object的子类(继承自Object类)
类是由属性和方法组成;相比较方法,有更好的封装性、扩展性、维护性

Dart系统内置的类

void main(List<String> args) {
  List list =
      []; //List就是系统内置的一个类,abstract class List<E> implements EfficientLengthIterable<E> {}
  list.isEmpty;
  list.add('aaaa');
  list.add("bbbb");
  print(list);//[aaaa, bbbb]
  Map m = {}; //Map也是一个类
  m.isEmpty;
  m['age'] = '18';
  m.addAll({'name': 'adadou'});
  print(m);//{age: 18, name: adadou}
}

Dart自定义类

自定义的类 放在main函数的外面

class Cat {
  //类的名称首字母大写
  /*类的属性*/
  var name = "花花";
  var color = "blak";
  var age = 3;
  /*类的方法*/
  getInfo() {
    print("$name is $color");
    print('${this.name}---is----${this.age}');
  }
}

void main(List<String> args) {
  //在main方法里面使用类之前   需要实例化类
  var cat = new Cat(); //也可以表示为   Cat cat=new Cat();
   // Cat cat=new Cat();

  //通过 对象cat 来访问类的属性和方法
  print(cat.name); //花花  

  cat.getInfo();
  //花花 is blak
  //花花---is----3
}


通过类的方法来操作属性 修改猫猫的age

class Cat {
  //类的名称首字母大写
  /*类的属性*/
  var name = "花花";
  var color = "blak";
  var age = 3;
  /*类的方法*/
  getInfo() {
    print("$name is $color");
    print('${this.name}---is----${this.age}');
  }

//定义一个无返回值的方法
  void setInfo(age) {
    this.age = age; //age的属性等于 方法 setInfo传入的age属性
  }
}

void main(List<String> args) {
  //实例化
  Cat cat = new Cat();

  cat.setInfo(120);
  print('${cat.name} age is ${cat.age}');//花花 age is 120
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值