Dart语言学习日记(七)

面像对象的基本特征

1.抽象

在面向对象的程序设计方法中,各种事物称为“对象”,将同一事物的共同特征概括出来的过程称为抽象,抽象包括数据抽象和过程抽象。

数据抽象:例如,人有国籍、肤色、姓名、性别、年龄等共同特征。
过程抽象:例如,人会吃饭、走路、讲话、思考等共同行为。

2.封装

封装就是在对某一类事物完成抽象后,通过某种语法形式,将数据(属性)与操作数据(行为)的源代码进行有机的结合,形成“类”。

封装可以将对象一部分属性和方法隐藏起来。

class Person{
	String name;//属性
	String nation;
	void say(){};//行为,又称为方法
	void eat(){};
}

3.继承

继承指的是两种或者两种以上的类之间的联系与区别,是后者延续前者的某些方面的特点,对象的一个新类可以从现有的原始类中派生,这个过程称为继承,新类称为子类派生类原始类称为新类的父类基类

例如,中国人是人的子类、英国人也是人的子类,不管中国人还是英国人都有国籍、肤色、姓名、性别、年龄等属性,也都会吃饭、说话、走路和思考等行为,但他们的吃饭方式、讲话语言都是不一样的。

class Chinese extends Person{
}
class British extends Person{
}

4.多态

多态是指当不同的多个对象同时收到同一个完全相同的消息之后,所表现出来的动作是各不相同的,具有多种形态。

例如,中国人、英国人都有吃饭的方法,但中国人用筷子吃饭、英国人用刀叉吃饭。

多态通常用覆盖重载的方式实现。覆盖是指在子类中重新定义父类某种特写的方法。重载是指允许类中存在多个同名的方法,而这些方法的参数表不同(参数个数不同、参数类型不同或两者都不同)。

class Chinese extends Person{
   
	@override		//覆写,重写
	void eat(){
   
		print('筷子');
	}
}
class British extends Person{
   
	@override		//覆写,重写
	void eat(){
   
		print('刀叉');
	}
}

类的定义和使用

1.类的定义

class 类名 {
	属性的定义;
	...
	方法的定义;
	...
}

在定义类时,如果没有给成员变量提供初始值,则创建对象时成员变量的初始值默认为null;如果指定了成员变量的类内初始值,则创建对象时类内初始值将用于初始该成员变量。

定义一个Person类,包含姓名、性别、年龄、国籍4个属性和1个说话方法:

class Person{
	String name;		//姓名
	String sex;			//性别
	int age;			//年龄
	String nation;		//国籍
	void say(){
		print('会说$(this.nation)语言');
	}
}

构造方法

类的构造方法(构造函数)是类的一种特殊的成员方法,它会在每次创建类的新对象时执行。

构造方法不会返回任何类型,也不会返回void;
构造方法可用于为某些成员变量设置初始值。

Dart语言中的构造方法包括默认构造方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LuoYaNiiii

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值