一、
面向对象特征:
1.抽象性: 从对象分析业务
2.封装性: 将属性和方法封装到对象里,方便维护、统一进行管理 便于二次开发 提高安全性
3.继承性: 将对象得属性和方法进行传递
4.多态性:一个类可以产生多种类型得对象 js无法做到!
封装性:属性分为两大类
共有属性:任何人在任何位置都可以任意得访问以及修改
私有属性:必须达到某些条件才能更改或者访问(安全性较高得属性)
定义为私有属性,不能随意访问更改
用于js本身没有私有概念 ,用局部变量来模拟
通过get 和set方法来实现 属性得获取和设置
<script>
function User(name,password){
var password=password
this.name=name
this.getPassword=function(user){
if(user.name=="zhangsan"){
return password
}else{
return "用户名错误"
}
}
this.setPassword=function(secret){
var reg=/^[a-z]{2,}[0-9]{4}$/
if(reg.test(secret)){
password=secret
}else{
alert("输入格式不正确")
}
}
}
var user={
name:"zhangsan"
}
var u1=new User("zhangsan","lin1230")
console.log(u1.name)
console.log(u1.getPassword(user))
</script>