面向对象 set get 作用以及目的 如何实现私有属性

java面向对象
        
        面向对象——行为化(概念相对抽象)
        面向对象是把整个需求按照特点、功能划分,将这些存在共性的部分封装成类(类实例化后才是对象),
        创建了对象不是为了完成某一个步骤,而是描述某个事物在解决问题的步骤中的行为
        我们将繁琐的步骤,通过行为、功能,模块化,这就是面向对象
        面向对象编程特点:
        1.抽象性: 通过对象来分析具体的问题
        2.****封装性: 将属性和方法都封装到对象中,方便统一管理 便于维护 便于二次开发  安全性较高(私有)
        3.****继承性: 将对象的属性和方法进行传递 ,Java C C++
        4.多态性: 一个类 可以产生多种对象!js用不了!!
        优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,
        可以设计出低耦合的系统,使系统更加灵活、更加易于维护
        
        在开发过程中,考虑到安全性要求,我们一般不在成员变量名前面使用@public、@protected等关键字修饰
        而是使用Set方法来为对象提供成员变量的值。在set方法的内部也可以对一些不合理的赋值进行筛选过滤。
        Set方法的作用:为外界提供一个设置成员变量值的方法
        命名规范:
        (1)方法名必须以set开头
        (2)Set后面跟上成员变量的名称,首字母大写
        (3)返回值一定是void
        (4)一定要接收一个参数,而且参数类型需要和成员变量的类型一致
        (5)形参名不能喝成员变量名一样(苹果官方推荐成员变量名前加_以示区分)
        Set方法的好处:
        (1)不让数据暴露在外,保证了数据的安全性
        (2)对设置的数据进行过滤

<script type="text/javascript">
            //封装性:面向对象 可以将属性 分为两大类 一类公开属性   一类私有属性
            //公开属性:在任何位置都可以随便访问和修改 ,修改过程中没有任何的限制
            //私有属性: 不能随意访问,必须通过指定的方法来访问和修改  //把私有属性定义成局部变量  用闭包的形式
            //1.安全系数较高的属性   2.设置时不能随意设置
            function People(name,age,password,phone){
                //把需要私有的属性封装给一个局部变量
                var phone=phone 
                this.name=name
                this.password=password
                this.age=age
                //get方法  来获取
                this.getPhone=function(){
                    //判定
                   return phone
                }
                
                //set方法 来设置
                this.setPhone=function(p){
                    var reg=/\d{11}/  //给个正则表达式 
                    if(reg.test(p)){
                        phone=p
                    }else{
                        alert("不符合规范")
                    }
                   
                }
            }
            var u1=new People("麻头",21,"123456",18816165858)
            console.log(u1.getPhone())//15233645788
            u1.setPhone(18816162828) 
            console.log(u1.getPhone())//15233567866
        </script>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

RORONOA~ZORO

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

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

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

打赏作者

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

抵扣说明:

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

余额充值