面向对象三大特征

/*
面向对象三大特征:
    1. 封装
    2. 继承
    3  多态。

需求:  使用java类描述百合网的会员。

问题: 性别有问题??

根本原因: 由于其他人可以直接操作sex属性。可以对sex属性进行了直接的赋值。

封装:


权限修饰符:权限修饰符就是控制变量可见范围的。

public :  公共的。 public修饰的成员变量或者方法任何人都可以直接访问。

private : 私有的, private修饰的成员变量或者方法只能在本类中进行直接访问。


封装的步骤:
    1. 使用private修饰需要被封装的属性。
    2. 提供一个公共的方法设置或者获取该私有的成员属性。
             命名规范:
                set属性名();
                get属性名(); 

疑问: 封装一定要提供get或者set方法吗?
        不一定, 根据需求而定的。

规范 : 在现实开发中一般实体类的所有成员属性(成员变量)都要封装起来。

实体类:实体类就是用于描述一类 事物的就称作为实体类。


工具类(Arrays数组的工具类):


封装的好处:
    1. 提高数据的安全性。
    2. 操作简单。 
    3. 隐藏了实现。

*/
 class Member{
    
    public    String name; //名字

    private    String sex; //性别

    public    int salary; //薪水



    
    //定义一个公共的方法设置sex属性
    public void setSex(String s){
        if (s.equals("男")||s.equals("女")){ //注意: 如果比较两个字符串的内容是否一致,不要使用==比较, 使用equals方法。
            sex = s;
        }else{
            //默认是男
            sex = "男";
        }
    }

    //定义一个公共的方法获取sex属性
    public String getSex(){
        return sex;
    }



    //聊天
    public void talk(){
        System.out.println(name+"聊得非常开心");
    }
}

class Demo5{

    public static void main(String[] args) 
    {
        Member m = new Member();
        m.name="狗娃";
        m.setSex("女");
        m.salary  = 800;
        System.out.println("姓名:"+ m.name+" 性别:"+ m.getSex()+" 薪水:"+ m.salary);
    }
}

 

posted @ 2017-01-06 22:47  iFat  阅读(158)  评论(0编辑  收藏  举报