黑马程序员技术交流社区

标题: 关于封装 [打印本页]

作者: 信仰年轻    时间: 2015-9-13 15:52
标题: 关于封装
private:私有,权限修饰符:用于修饰类中的成员(成员变量,成员函数)
私有只在本类中有效

将age私有化以后,类以外即使建立了对象也不能直接访问
但是人应该有年龄,就需要在Person类中提供访问age的方式

注意:私有仅仅是封装的一种表现形式

之所以对外提供访问方式,就因为可以在访问方式中加入逻辑判断等语句
对访问的数据进行操作,提高代码健壮性

*/

class Person
{
        private int age;
        private String name;
        public void setAge(int a)
        {
                if(a>0&&a<150)
                {
                        age=a;
                        //speak();
                }
                else
                        System.out.println("feifa");
        }
        public int getAge()
        {
                return age;
        }
        public void setName(String n)
        {
                name=n;
        }       
        public String getName()
        {
                return name;
        }
        void speak()
        {
                System.out.println("age="+age+",name="+name);
        }
}
public class 封装
{
        public static void main(String[] args)
        {
                Person p=new Person();
                p.setName("张三");
                p.setAge(20);
                p.speak();
        }
}

作者: heshiwei    时间: 2015-9-13 17:17
说的没错,封装是面向对象语言非常重要的特点,某些属性不允许被外界直接访问修改,可以通过setter gerter方式,使得外部访问的权限可控。而.NET则是提出了属性的概念,属性具有getter setter双重属性。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2