转发:java面向对象思想(oop)之抽象和封装
第一 java oop之抽象
讲真,说到什么是抽象,刚开始真的让我有种茶壶里煮水饺(有货到不出的感觉,可能夸张了)心里知道,就是把生活中的实体抽象成一个模型类,然后确定类的属性和方法的过程。但就是觉得总结不成一句话。
虽然说知道了这个东西,但是其实还是不太自信以后可以完全从业务中准确无误的抽象出类的属性和行为。,但是如果要自己从业务中获取信息,简单的也许可以,复杂一点的,就有点担心了。不知道这种从业务中提取信息的能力是需要多练就可以提升的还是怎么回事嘞?
第二 java oop之封装
1.属性的封装
简单的讲就是把类里面你需要封装的成员变量私有化,然后通过get和set方法,将这些属性暴露出去,外界的调用者就可以通过这两种方法获取和设置属性,而我们可以在这两个方法种做相应的处理,是的外界在一定的条件下才可以获取和设置属性的值,这样极大的增强了数据的安全性。
2.方法的封装
总得来说,也是将方法私有化,这样只有本类才可以调用该方法,外部无法调用。但是我目前所处的阶段似乎还没怎么用到方法的封装
3.业务的封装
对于业务封装只知道辣么一丢丢,就是知道可以把一些经常用的一些工具类可以封装在一个固定的包下,这样就不用每次都敲一遍经常用到的一个代码了。
或者分模块进行开发,我自己理解这种模式来说应该也算一种封装。例如,实际开发中,有实体类,业务逻辑类,主方法类。
这种业务的封装大大提高了程序开发的便捷性。你就说,这么爽的法子,学了岂不快哉!
第三 重载
这个呢……鉴于时间的原因!我就不罗里吧嗦了。所谓的重载呢,就是方法名相同,而参数不同的方法。这里的参数不同,就表现在类型不同,个数不同以及数据类型不同。跟返回值类型没有半毛钱关系。
目前的状态用的的最多的就是构造方法的重载。关于那个重载的目的,就是在调用者选择调用的时候可以根据自己的要求任意选择自己需要的方法!
你就说,屌不屌?
此处省略很多字……
第四 构造方法
构造方法就是在创建对象的时候调用的一种特殊的方法,没有返回值类型,但是并不代表没有返回值。当我们在创建对象之后,返回这个对象的地址并赋给一个变量。构造方法的修饰符必须是public,这个没得说。构造方法主要就是用来初始化对象的一些属性。
分默认构造即无惨构造方法和自定义构造方法。
最后注意,当自定义了构造方法时,一定要手动加上默认构造方法。
第五 this
我的个亲娘四舅奶奶,终于走到这里来了。这几百字打的我手都麻了,看起来没什么意义,主要就是在脑海里过一遍知识点,总结一点,想到什么写什么。
this代表的当前对象的一个引用地址。也是就是说在创建对象时,jvm都会给每个对象分配一个指向该对象的指针,那就是this.
this的使用,一定是有对象才有this。所以可以使用this.属性,this.方法,最重要的是可以使用this().这表示的是调用该对象所对的类的构造方法,当然也可以调用带参数的自定义构造方法。
使用this调用构造方法的时候,必须放在所有有效代码的第一行,并且只能调用一次。
因为是有了对象才有this,所以说静态方法是不能用this的,因为静态方法是随着类的加载就加载进内存的,而类的加载是是在对象创建之前的。