第三章、面向对象-封装

3、面向对象的封装性

在一个包里可以建多个类,

面向对象包括三大特征:

-封装

-继承

-多态

1、封装的好处:封装之后看不到比较复杂的一面,只能看到该事物简单的一面

2、复杂性封装,对外提供简单的操作入口,封装之后才会形成真正的对象-独立体。

3、封装意味着程序以后可以重复使用,并且这个事物适应性比较强,在任何场合都可以使用

4、封装意味事物本身提高着安全性。

public class UserTest

{

}

1、如何进行封装

1、建工程再建project,2、在scr中右键建一个包(包的作用是方便管理和划分类)3、在包里的建一个类

如何在代码上进行封装

可以更换包的显示格式:项目区右上角小三角,下拉后由package presentation,可选flat并列结构,或者Hierachical树形结构。

2、封装的步骤

public class Student

{

private int number;

private String name;

private Computer diannao;

}

public class OOTest//类名必须大写的,所以使用类名关键字必须首字母大写,一个类就是一个可用数据类型。

{

public static void main(string[] args)

{

Student xiaoming=new Student();

System.out.println(xiaoming.age)

}

}

编译报错,age不可见,因为在工程里每一个类的属性带上private关键字,则该类中带有private的属性其他类不可见,这保证了每个类作为一个黑盒不可见。

1、所有属性私有化,使用private关键字进行修饰,private表示私有,修饰的所有数据只能在奔雷中访问。

2、对外提供简单的操作入口,也就是说以后外部程序想访问类似于age属性的时候,必须通过这些简单的入口进行访问。

1、所有属性对外提供两个公开的方法,分别是set和get方法

--想修改age属性,调用set方法

--想读取age属性,调用get方法

3、set方法的命名规范

pubulic void setAge(int a)

{

age=a;

}

4、get方法的命名规范:

public in getAge()

{

return age;

}

//可以在创建完类之后点右键,选source再选generate Getters and Setters,自动生成set和get方法

回想一下,一个属性通常访问的时候包括几种访问形式?

第一种方式;想读取这个属性的值,读取get

第二种方式;想修改这个属性的值,修改set

请大家先背会以下内容

setter and getter方法没有static关键字

有static关键字的方法怎么调用:类名.方法名(实参)

没有static关键字修饰的方法怎么调用:引用.方法名(实参)

例子:

public class User()

{

private int age;

pubulic void setAge(int a)

{

if(a<0||a>150)

{

System.out,println("您提供的年龄不合法");

return;

}

age=a;

}

public int getAge()

{

return age;

}

public int setAge(int a)

{

age=a;

}

}

猜你喜欢

转载自blog.csdn.net/qq_35677589/article/details/112910709