面向对象_封装(private私有)

private: 私有  权限修饰符用于修饰类中的成员(成员变量,成员函数)(可以修饰类,但只能是内部类)

私有只在本类中有效(也就是在本类中才能直接访问)

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

私有仅仅是封装的一种表现形式.

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

封装:是指隐藏对象的属性和实现细节,仅对外提供公共的访问方式

  好处:将变化隔离,便于使用,提高重用性,提高安全性

  封装原则:将不需要对外提供的内容都隐藏起来

       把属性都隐藏,提供公共方法对其访问

函数也是封装的一种体现,函数是java中最小的封装 体

 1 public class Object_Encapsulation {
 2     public static void main(String[] args) {
 3         Person p=new Person();
 4         p.setAge(20);
 5         //p.speak();
 6     }
 7 }
 8 class Person{
 9     private int age;
10     //对外提供访问方式
11     public void setAge(int age){
12         if (age>0 && age<130){
13            this.age=age;
14            speak();
15         }
16         else
17             System.out.println("age feifa");
18
19     }
20
21     public int getAge(){
22         return age;
23     }
24 //一个成员变量的访问方式一般会对应两种方式一个是set (没有返回值)一个时get(返回值时int)
25
26     void speak(){
27         System.out.println("age="+age);
28     }
29 }
时间: 2024-10-16 02:28:01

面向对象_封装(private私有)的相关文章

面向对象(封装private)

/** * Created by 刘朋程 on 2014-5-22. */ class Testprivate {     private int age = 18;              //私有化age并赋值为18 public void setAge(int age)   //设置age范围     {         if (age>0 && age<100)         {             this.age = age;             spe

面向对象_封装

万物皆对象,对象因关注产生 类是模子,确定对象将会拥有的特征(属性)和行为(方法) 特点 1类是对象的类型 2具有相同属性和方法的一组对象的集合 属性:对象拥有的特征:值数据 方法:对象拥有的操作:功能 类是个抽象的概念 类是对象的抽取,对象是类的实例. 定义类 定义一个类的步骤 1.定义类名    public class 类名{ 2.编写类的属性 定义属性部分(成员变量) 属性1的类型 属性1: 属性你的类型 属性n: 定义方法部分 方法1: 方法m:     } 如何使用对象 使用对象的步

面向对象的封装

面向对象的封装 private  私有的 私有的属性不能直接在外面访问 protected  受保护的  受保护的属性 不能直接在外面访问 __set($key,$value) $key--->没有权限赋值的属性名  $value  没有权限赋值的属性值 给一个没有权限访问的属性赋值的时候自动调用 __get($key) $key----->没有权限访问的属性名 访问一个没有权限的属性的时候自动调用 public protected private 自己 Y Y Y 家族 Y Y N 外部 Y

面向对象之封装

类和对象的关系 类就是:对现实生活中事物的描述. 对象:就是这类事物,实实在在存在的个体. 比如: 现实生活中的对象:张三,李四. 想要描述:提取对象中共性内容.对具体对象的抽象. 描述时,这些对象的共性有:姓名,年龄,性别,学习java的功能.映射到java中,描述就是class定义的类.具体对象就是对应java在堆内存中用new建立的实体. (其实定义类)描述事物,其实就是在描述事物的属性和行为.属性对应类中变量,行为对应类中的函数(方法).属性和行为共同成为类中的成员(成员变量和成员函数)

JAVA之旅(四)——面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块

JAVA之旅(四)--面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块 加油吧,节奏得快点了 1.概述 上篇幅也是讲了这点,这篇幅就着重的讲一下思想和案例 就拿买电脑来说吧,首先,你不懂电脑,你去电脑城买电脑,和大象装冰箱里一样,是什么步骤?咨询 砍价 ,谈妥了就那电脑走人,对吧,这就是面向过程的思想,而面向对象是:你有一个哥们,他懂电脑,什么都会,你只要带他去,就行,你这个哥们就是对象,在JAVA中,我们就是操作一个对象去完成各种各样的操作的,这就是面向对

面向对象之封装(day7)

一.引子 从封装本身的意思去理解,封装就好像是拿来一个麻袋,把小猫,小狗,小王八一起装进麻袋,然后把麻袋封上口子.照这种逻辑看,封装='隐藏',当然,这种理解是相当片面的. 二.先看如何隐藏 在python中用双下划线开头的方式将属性隐藏起来(设置成私有的) 其实这仅仅这是一种变形操作且仅仅只在类定义阶段发生变形,类中所有双下划线开头的名称如__x都会在类定义时自动变形成:_类名__x的形式: class A: __N=0 #类的数据属性就应该是共享的,但是语法上是可以把类的数据属性设置成私有的

面向对象,封装,反射,绑定方法

封装就是对内可访问外部不可访问,不过可以通过给定的接口进行访问 可以通过__语法定义私有属性私有方法  同时可以在父类这样定义使得子类不能继承父类私有属性 def__stu(self)  __n='ii' 内部可以通过设置 def study(self): self.__stu() 进行访问   同时可以通过 ._类名__属性  的方法进行访问 可以隔离复杂度提高数据安全度 issubclass(,)判断是否是父子关系 将一个类的函数定义成特性以后,对象再去使用的时候obj.name,根本无法察

面向对象 【封装】【继承】【多态】

创建一个新项目 using System;                                     --using System.Collections.Generic;        .using System.Linq;                                .          -- 引用的命名空间using System.Text;                             -- namespace ConsoleApplicatio

黑马程序员——Java基础---面向对象之封装

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 面向对象之封装      一:封装概述 是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. 好处: (1)将变化隔离(内部怎样变化外部是不需要知道的,只调用即可) (2)便于使用(我们不用知道内部构造直接使用就可以) (3)提高重用性