面向对象中对封装的理解

面相对象的思想

一、类与对象
1、类:类是对象的模版,类是抽象的,不能被具体描述
   (1)公共的属性,特征,公共变量
   (2)公共的行为,功能,方法


2、对象: 能够被具体描述,万事万物皆对象,通过类的模版实例化出对象
   类名 对象名 = new 类名();
   设置对象的初始值
   对象名.属性 = "值";

   取值:   变量 = 对象名.属性

二、构造函数:
  作用:1.创建对象,实例化对象,默认调用无参构造函数
        2.创建对象并赋初始值,调用有参构造函数

  特点:
    1.方法名必须和类名相同
    2.没有返回值
    3.一般为public
    4.会默认提供一个无参,当定义了有参的时候,无参不再提供
    5.可以进行重载(同名不同参)

三、构造方法:构造函数

  作用:给类的成员赋初始值

  语法:访问修饰符 构造方法名(形参列表)
    {
        赋值;
    }

  特点:
    a>.方法名必须和类名相同
    b>.构造方法无返回类型(也不能定义成void)
    c>.访问修饰符一般都为public
    d>.任何类都默认自带一个无参的构造方法
    e>.当给类定义了一个有参的构造方法的时候,无参构造方法不再配置(不再有无参构造方法)
    f>.构造方法也可以重载

  四、如何调用构造方法:

  类名 对象名 = new 类名();
    1.创建了一个具体的对象
    2.调用了无参的构造方法


  this关键词
  作用:this代表本类,访问本类中的成员
    this用在哪,this就代表此类


五、什么是封装?

 1.保护类中成员的安全和有效性 

 2.保护类中成员的一种机制

 3.保护属性数据的安全性和有效性

六、如何使用封装?

  . 第一步:在属性的修饰符设置成private
    private 私有的属性;

例如:

private String stuName;

  . 第二步:分别给私有的属性配置二个公开get/set的方法

    获取属性的方法:   getXXX()  
    赋值属性的方法:       setXXX()

//2.2设置公开的返回属性值 get+属性名
    public String getStuName(){
        //必须返回指定的属性
        return this.stuName;
    }

    private String stuSex;

    public void setStuSex(String stuSex){
        //判断数据有效性
        if (stuSex == "男" || stuSex == "女"){
            this.stuSex = stuSex;
        }else{
            this.stuSex = "性别不详";
        }
    }


    方法的命名规则: get/set+属性每个词第一个字母大写
 

 public String getName()
    {
        return name属性;
    }
    
    public void setName(String name)
    {
        //数据校验
        this.属性 = name值;
    }

  不要将所有信息暴露,通过封装方法实现

//3.1通过封装设置值
        stu.setStuName("小明");
        stu.setStuAge(18);
        stu.setStuSex("男");

        //3.2需要获取对象的属性值,在测试方法中打印输出
        System.out.println("学生姓名:"+stu.getStuName()+"性别:"+stu.getStuSex()+
                "年龄:"+stu.getStuAge());

小结:
1.通过创建对象调用构造方法
2.通过类可以创建出无数个具体的对象,类是对象模板
3.每个对象都会有类的公开的成员属性以及对象值
4.每个对象都共享类的成员
5.通过封装的方法来保护类的成员安全性和数据有效性

  • 20
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值