面向对象封装性

1 篇文章 0 订阅

面向对象的封装性
对于当前程序来说:
User类中的age属性在外部程序中可以随意访问,导致age属性的不安全。
一个User对象表示- -个用户, 用户的年龄不可能为负数,以下程序当中年龄值
负数,程序运行的时候并没有报错,这是当前程序存在的缺陷。
面向对象包括三大特征:
-封装.
-继承
-多态
当前主要讲解的是封装机制。为什么要封装?封装有什么好处?
封装的好处:
1、封装之后,对于那个事物来说,看不到这个事物比较复杂的那一面,只能看到该事物简单的那一面。
复杂性封装,对外提供简单的操作入口。照相机就是一个很好的封装的案例,照相机的实现原理非常复杂,
但是对于使用照相机的人来说,操作起来是非常方便的是非常便捷的。还有像电视机也是封装的,电视机
内存实现非常复杂,但是对于使用者来说不需要关心内部的实现原理,只需要会操作遥控器就行。
2、封装之后才会形成真正的“对象”,真正的独立体”
3、封装就意味着以后的程序可以重复使用。并且这个事物应该适应性比较强,在任何场合都可以使用。
4、封装之后,对于事物本身,提高了安全性。[安全级别高]
封装的步骤:
1、所有属性私有化,使用private关键字进行修饰,private表示私有的,修饰的所有数据只能在本类中访问。
2、对外提供简单的操作入口,也就是说以后外部程序要想访问age属性,必须通过这些简单的入口进行访问:
对外提供两个公开的方法,分别是set方法和get方法
想修改age属性,调用set方法
想读取age属性,调用get方法
3、set方法的命名规范:
public void set+属性名首字母大写(形参) {
age
a;
}
4、get方法的命名规范:
public int getAge () {
return age ;
}
需要大家先背会以下内容:
* setter and getter方法没有static关键字
*有static关键字修饰的方法怎么调用:类名.方法名(实参) ;
*没有static关键字修饰的方法怎么调用:引用.方法名(实参) ;
关于java类中的构造方法:
1、构造方法又被称为构造函数/构造器/Constructor
2、构造方法语法结构:
[修饰符列表]构造方法名(形式参数列表) {
构造方法体;
3、回顾普通方法的语法结构:
[修饰符列表]返回值类型方法名(形式参数列表) {
方法体;
}
4、对于构造方法来说,“返回值类型"不需要指定,并且也不能写void,
只要写上void,那么这个方法就成为普通方法了。
5、对于构造方法来说,构造方法的方法名必须和类名保持一致。
6、构造方法的作用?
构造方法存在的意义是,通过构造方法的调用,可以创建对象。
7、构造方法应该怎么调用?
一普通方法是 这样调用的:方法修饰符中有static的时候:类名.方法名(实参列表)、方法修饰符列表中没有static的时候:引用.方法名(实参列表)
一new构造方法名(实参列表)
8、构造方法调用执行之后,有返回值吗?
每一个构造方法实际上执行结束之后都有返回值,但是这个"return值;”这样的语句不需要写。构造方法结束的时候java程序自动返回值。
并且返回值类型是构造方法所在类的类型。由于构造方法的返回值类型就是类本身,所以返回值类型不需要编写。
9、注释和取消注释: ctrl + /
   多行注释: ctrl + shift + /
10、当一个类中没有定义任何构造方法的话,系统默认给该类提供一个无参数的构造方法,这个构造方法被称为缺省构造器。
11、当一个类显示的将构造方法定义出来了,那么系统则不再默认为这个类提供缺省构造器。建议开发中手动的为当前类提供无参数构造方法。因为无参数构造方法太常用了。
12、构造方法支持重载机制。在一个类当中编写多 个构造方法,这多个构造方法显然已经构成方法重载机制。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值