`
airfly2013
  • 浏览: 18623 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

黑马程序员 java_面向对象

 
阅读更多

                              

                        ------- android培训java培训、期待与您交流! ----------

 

面向对象

 

1 面向对象

 

       在Think in Java中,面向对象的优点是:

       面向对象编程(OOP)具有多方面的吸引力。对管理人员,它实现了更快和更廉价的

       开发与维护过程。对分析与设计人员,建模处理变得更加简单,能生成清晰、易于维护

       的设计方案。对程序员,对象模型显得如此高雅和浅显。此外,面向对象工具以及库的

       巨大威力使编程成为一项更使人愉悦的任务。

 

 

2 面向对象的概念

 

2.1理解面向对象

 

       面向对象是相对面向过程而言

       面向对象和面向过程都是一种思想

       面向过程

             强调的是功能行为

       面向对象

            将功能封装进对象,强调具备了功能的对象。

       面向对象是基于面向过程的。

 

 

2.2 面向对象的特点

 

         是一种符合人们思考习惯的思想

         可以将复杂的事情简单化

         将程序员从执行者转换成了指挥者

         完成需求时:

        先要去找具有所需的功能的对象来用。

        如果该对象不存在,那么创建一个具有所需功能的对象。

        这样简化开发并提高复用。
 

2.3面向对象的开发,设计,特征

 

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

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

        面向对象的特征:

               封装(encapsulation)

               继承(inheritance)

               多态(polymorphism)

 

 

3 类与对象

 

          使用计算机语言就是不断的在描述现实生活中的事物。

          java中描述事物通过类的形式体现,类是具体事物的抽象,概念上的定义。

          对象即是该类事物实实在在存在的个体。

 

3.1类与对象关系图

 


       对于同一类事物可以抽取它们的共性的内容,定义在类中。

       如生活中的汽车,每一台车都有轮胎数和颜色。

       那么在通过java描述汽车这类事物时,就可以将这两个共性属性作为类中的属性进行定义。

       通过该类建立的每一个汽车实体都具有该属性,并可以有对象特有的属性值。

 

       现实生活中的对象:张三 李四。

       想要描述:提取对象中共性内容。对具体的抽象。

       描述时:这些对象的共性有:姓名,年龄,性别,学习java功能。

 

       映射到java中,描述就是class定义的类。

       具体对象就是对应java在堆内存中用new建立实体。

 

       类就是:对现实生活中事物的描述。

       对象:就是这类事物,实实在在存在个体。

 

 

3.2 类第定义

 

        生活中描述事物无非就是描述事物的属性和行为。

                如:人有身高,体重等属性,有说话,打球等行为。

 

       Java中用类class来描述事物也是如此

               属性:对应类中的成员变量。

               行为:对应类中的成员函数。

 

        定义类其实在定义类中的成员(成员变量和成员函数)。

 

 

3.3成员变量与局部变量的区别

 

       成员变量:

              成员变量定义在类中,在整个类中都可以被访问。
              成员变量随着对象的建立而建立,存在于对象所在的堆内存中。
             成员变量有默认初始化值。

      局部变量:

              局部变量只定义在局部范围内,如:函数内,语句内等。
              局部变量存在于栈内存中。
              作用的范围结束,变量空间会自动释放。
              局部变量没有默认初始化值。
 
3.4创建对象,使用对象
class Car//对Car这类事物进行描述
{
	String color = "red";
	int num = 4;
	void show()
	{
		System.out.println("color="+color+"..num="+num);
	}
}
class CarDemo 
{
	public static void main(String[] args) 
	{
		Car c = new Car();//建立对象
		c.color = "black";//对对象的属性进行修改
		c.show();//使用对象的功能。
	}
}
 
 
3.5对象的内存结构


 

    只要是用new操作符定义的实体就在会堆内存中开辟一个新的空间。

    并每一个对象中都有一份属于自己的属性。

    通过 对象.对象成员 的方式操作对象中的成员,

    对其中一个对象的成员进行了修改。和另一个对象没有关系。

 

 

3.6 匿名对象

 

        匿名对象是对象的简化形式

        匿名对象两种使用情况

        当对对象方法仅进行一次调用的时

        匿名对象可以作为实际参数进行传递

 

class Car
{
	//描述颜色
	String color = "红色";
	//描述轮胎数
	int num = 4;

	//运行行为。
	void run()
	{

		System.out.println(color+".."+num);
	}
	
}


 

class  CarDemo
{
	public static void main(String[] args) 
	{

new Car().run();
		
		//匿名对象使用方式一:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化。
		//如果对一个对象进行多个成员调用,必须给这个对象起个名字。
		//匿名对象使用方式二:可以将匿名对象作为实际参数进行传递。	
		show(new Car());
	}

	//需求:汽车修配厂。对汽车进行改装,将来的车够改成黑车,三个轮胎。
	public static void show(Car c)
	{
		c.num = 3;
		c.color = "black";
		c.run();
	}
}

 

 

4 封装

 面向对象有三个特征:封装,继承和多态,这里只介绍封装,继承和多态在后面学习。

 

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

        好处:

              将变化隔离。

              便于使用。

              提高重用性。

              提高安全性。

       封装原则:

             将不需要对外提供的内容都隐藏起来。

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

 
                         ------- android培训java培训、期待与您交流! ----------
  • 大小: 12.5 KB
  • 大小: 8.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics