码迷,mamicode.com
首页 > 其他好文 > 详细

day5 面向对象

时间:2016-10-09 23:12:34      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

面向对象的特征

 封装(encapsulation)

继承(inheritance)

多态(polymorphism)

开发的过程:其实就是不断的创建对象,使用对象,指挥对象做事情。

设计的过程:其实就是在管理和维护对象之间的关系.

匿名对象

匿名对象:没有名字的实体,也就是该实体没有对应的变量名引用。

2.2匿名对象的用途  

1,当对象对方法进行一次调用的时候,可以使用匿名对象对代码进行简化。

   为什么只对方法,而不调用属性呢?因为匿名对象调用属性没意义。

   如果对象要多成员进行多次调用,必须给对象起个名字。不能在使用匿名         对象。

2,匿名对象可以实际参数进行传递。

    2:匿名对象的简单演示

        1:new Car().run();

3:内存结构图

        1:new Car().num=5;

        2:new Car().clor="blue";

        两个new 是两个不同的对象,在堆内存中有不同的空间,相互不相互干扰。

4:匿名对象的使用

        1:当只使用一次时可以使用匿名对象。执行完毕到;后该对象就变成了垃圾。

       new Car().run();

      2:执行方法时,可以将匿名对象作为实际参数,传递进去。

封装

       我们日常使用的电脑主机,把cpu、内存、主板等等都封装到机箱里面去。假如没有机箱的话的出现什么问题,主机、主板全部都散落在一处,然后开机没有开机按钮,那么需要我们直接操作接跳线才能把电脑开启。这样子的话假如操作不慎的话,会让机器损坏危险,那么假如用机箱封装起来的话,那么就不需要这样子做了。体现了封装的---安全特性。

你拿电脑去加内存,可以直接给电脑给维修的人,等他加好内存了之后。你拿到的还是那个机箱,里面发生了怎样子的变化你并不知道。封装的第二个好处-将变化隔离。

 

在机箱里面提供一个开机按钮,而不需要你直接使用跳线开机的话,体现了封装的—便于使用的特性。

 

只要机箱提供了一个开机的功能,然后无论这个机箱拿到哪里去,都可以使用这个开机的功能.体现了封装的---提供重复性的特性。

1、  没有封装

模拟问题

  1. 描述Employee类。定义姓名,工号,性别的成员变量,和工作的方法。成员使用public修饰。
  2. 创建Employee对象,对象.成员的方式进行赋值。最后该对象调用工作方法。
  3. 总结:如果不使用封装,很容易赋值错误,并且任何人都可以更改,造成信息的        不安全。
  4. 问题解决:使用封装

封装的实现

    1:设置类的属性为private(关键字),不能使用对象名.属性名的方式直接访问对象的属性。

封装的好处

    1:隐藏了类的具体实现

    2:操作简单

    3:提高对象数据的安全性

构造方法

       1.我们人出生的时候,有些人一出生之后再起名字的,但是有些人一旦出生就已经起好名字的。那么我们在java里面怎么在对象一旦创建就赋值呢?

构造方法的作用:对对象进行初始化

构造函数与普通的函数的区别

  1. 一般函数是用于定义对象应该具备的功能。而构造函数定义的是,对象在调用功能之前,在建立时,应该具备的一些内容。也就是对象的初始化内容。
  2. 构造函数是在对象建立时由jvm调用, 给对象初始化。一般函数是对象建立后,当对象调用该功能时才会执行。
  3. 普通函数可以使用对象多次调用,构造函数就在创建对象时调用。
  4. 构造函数的函数名要与类名一样,而普通的函数只要符合标识符的命名规则即可。
  5. 构造函数没有返回值类型。

 

day5 面向对象

标签:

原文地址:http://www.cnblogs.com/Michael2397/p/5944121.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!