面向对象概述
1、软件编程发展史
面向机器
面向过程(1972年之后…)
面向对象
面向过程核心思想:把一个系统分解为若干个步骤,每个步骤就是一个函数。
面向对象核心思想:把一个系统分解为若干个事务,每个事务就是一个类。
案例:开发一个办公OA系统
1)面向过程思想进行开发:
咨询à报名à缴费à分班à学习à就业
function 咨询() {}
function 报名() {}
function 缴费() {}
2)面向对象思想进行开发:
学生、老师(咨询老师、班主任、讲师、辅导员)、学科(PHP、Java、.Net)
class Student {
function 咨询() {}
function 报名() {}
}
class Teacher {
function 分班() {}
}
class Subject {}
$stu = new Student();
$stu->咨询();
$stu->报名();
2、面向对象中的两大关键词
类:对某类事务的描述,是抽象的
对象:通过类具体实现的事务,是具体的
3、类的划分
系统类:在Javascript中预定义的系统内置类
自定义类:根据相关功能,自定义的类就是自定义类
4、常用的系统类
1)字符串String类
- length :返回字符串的长度
- indexOf(string) :返回参数在字符串中的位置(默认从0开始)
- substr(start,[length]) :从指定位置截取指定长度的字符串
- toLowerCase() :返回小写字符串
- toUpperCase() :返回大写字符串
- replace(str1,str2) :字符串替换,使用str2替换str1
在Javascript中,可以通过一对单引号或双引号来隐式创建String类的实例。
运行结果:
2)日期和时间Date类
- getYear() :获取年份(在有些浏览器下具有兼容性问题)
- getFullYear() :获取完整年份(如2016)
- getMonth() :获取月份(0-11)
- getDate() :获取当月的第几天(1-31)
- getDay() :获取一周的星期几(0-6),0代表星期天
- getHours() :获取小时数
- getMinutes() :获取分钟数
- getSeconds() :获取秒数
- getMilliseconds() :获取毫秒数
- getTime() :返回当前时间的毫秒时间戳
在Javascript中,可以通过直接实例化的形式来创建日期和时间类的实例。
运行结果:
3)数学Math类
- ceil(数值) :返回大于或等于该数的最小整数
- floor(数值) :返回小于或等于该数的最大整数
- min(数值1,数值2) :返回最小值
- max(数值1,数值2) :返回最大值
- pow(数值1,数值2) :返回数值1的数值2次方,2的2次方=4
- random() :返回0-1之间的随机数,包含0但不包含1
- round(数值) :返回四舍五入后的结果
- sqrt(数值) :开平方根,4的开平方根=2
在Javascript中,数学类下的所有属性和方法都是静态的。
运行结果: