必威体育Betway必威体育官网
当前位置:首页 > IT技术

面向对象——(封装)

时间:2019-10-06 01:44:28来源:IT技术作者:seo实验室小编阅读:86次「手机版」
 

面向对象

面向对象的概念:

理解面向对象:

         面向对象是相对于面向的过程而言的。

         面向过程和面向对象都是强调的一种思想。

         面向过程:强调的是功能的行为。

         面向对象:把功能封装进对象,强调具备了功能的对象。

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

举例:把大象装进冰箱需要三步: 

 

  面向对象特点

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

2、将复杂的问题简单化。

3、使程序员从动作的执行者变为动作的指挥者。

4、完成指定的需求时:

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

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

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

  面向对象开发、设计、过程

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

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

面向对象的特性:

  继承、封装、多态、抽象也算


类与对象的关系:

类:类是一个模子,描述了该对象应该具有什么特征。

对象:对象是类的实例,由照着类这个模子创建出的实例。

对象具有一定的特征和行为,比如车子特征有颜色、轮胎个数。车子的行为能载人、能拉货。

特征就是属性,属性既类中的成员变量,成员变脸也是属于变脸,所以命名方式,书写格式和变脸一样。

行为就是方法,方法既类中的成员函数

代码实例化一个 小汽车:


/*
用java语言对现实生活中的事物进行描述。
通过类的形式来体现的。

怎么描述呢?
对于事物描述通常只关注两方面。
一个是属性,一个是行为。

只要明确该事物的属性和行为并定义在类中即可。

对象:其实就是该类事物实实在在存在的个体。

类与对象之间的关系?
类:事物的描述。
对象:该类事物的实例。在java中通过new来创建的。

*/


/*

描述小汽车

分析:
1,属性。
	轮胎数。
	颜色。 
2,行为。
	运行。







*/
class Car
{
	int num;
	String color;
	
	void run()
	{
		//int num = 10;
		System.out.println(num+"..."+color);
	}

}





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


		
		//在计算机中创建一个car的实例。通过new关键字。 
//		Car c = new Car();// c就是一个类类型的引用变量,指向了该类的对象。
//		c.num = 4;
//		c.color = "red";

//		c.run();//要使用对象中的内容可以通过  对象.成员 的形式来完成调用。



	}

}

dos命令行打印输出:

对象在内存中运行的示意图:

成员变量和局部变量的区别:

1,

成员变量定义在类中,整个类中都可以访问。

局部变量定义在函数,语句,局部代码块中,只在所属的区域有效。

2,

成员变量存在于堆内存的对象中。

局部变量存在于栈内存的方法中。

3,

成员变量随着对象的创建而存在,随着对象的消失而消失。

局部变量随着所属区域的执行而存在,随着所属区域的结束而释放。

4,

成员变量都有默认初始化值。

局部变量没有默认初始化值

匿名对象:

创建形式:

new  Car();

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

匿名对象两种使用情况:

当对对象方法仅进行一次调用的时, 例如: new Car().run();

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


/*
用java语言对现实生活中的事物进行描述。
通过类的形式来体现的。

怎么描述呢?
对于事物描述通常只关注两方面。
一个是属性,一个是行为。

只要明确该事物的属性和行为并定义在类中即可。

对象:其实就是该类事物实实在在存在的个体。

类与对象之间的关系?
类:事物的描述。
对象:该类事物的实例。在java中通过new来创建的。

*/


/*

描述小汽车

分析:
1,属性。
	轮胎数。
	颜色。 
2,行为。
	运行。



定义类其实就是在定义类中的成员。
成员:成员变量<-->属性,成员函数<-->行为。


成员变量和局部变量的区别:

1,
成员变量定义在类中,整个类中都可以访问。
局部变量定义在函数,语句,局部代码块中,只在所属的区域有效。

2,
成员变量存在于堆内存的对象中。
局部变量存在于栈内存的方法中。

3,
成员变量随着对象的创建而存在,随着对象的消失而消失。
局部变量随着所属区域的执行而存在,随着所属区域的结束而释放。

4,
成员变量都有默认初始化值。
局部变量没有默认初始化值。 



*/
class Car
{
	int num;
	String color;
	
	void run()
	{
		//int num = 10;
		System.out.println("汽车的轮子有"+num+"个,颜色是"+color+"色");
	}

}





class  CarDemo
{
	public static void main(String[] args) 
	{
		//在计算机中创建一个car的实例。通过new关键字。 
		Car c = new Car();// c就是一个类类型的引用变量,指向了该类的对象。
    	c.num = 4;
		c.color = "red";

		c.run();//要使用对象中的内容可以通过  对象.成员 的形式来完成调用。

		

//		Car c1 = new Car();
//		c1.num = 4;
//		c1.color = "red";

//		Car c2 = new Car();
//		c2.num = 4;
//		c2.color = "red";

//		Car c1 = new Car();
//		Car c2 = new Car();
//		show(c1);
//		show(c2);

		/*
		匿名对象。没有名字的对象 。
		new Car();//匿名对象。其实就是定义对象的简写格式。



		Car c = new Car();
		c.run();

		new Car().run();
	

		1,当对象对方法仅进行一次调用的时候,就可以简化成匿名对象。
		
		new Car().num = 5;
		new Car().color = "green";
		new Car().run();

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

		

//		Car c1 = new Car();
//		show(c1);
		show(new Car());
	}

	//汽车改装厂。
	public static void show(Car c)//类类型的变量一定指向对象。要不就是null。 
	{
		c.num = 3;
		c.color = "black";
		System.out.println(c.num+"..."+c.color);
	}
	*/
	}
}

面向对象引用数据类型参数传递图解 :


封装

  

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

  好处:

     将变化隔离、便于使用、提高重用性、提高安全性

  封装原则:

    将不需要对外提供的内容都隐藏起来、把属性都隐藏,提供公共方法对其访问。

private 关键字

是一个权限修饰符。

用于修饰成员(成员变量和成员函数)

私有化的成员只在本类中有效。

常用之一:

   将成员变量私有化,对外提供对应的set ,get方法对其进行访问。提高对数据访问的安全性。

private :私有,是一个权限修饰符。用于修饰成员。

          私有的内容只在本类中有效。

注意: 私有仅仅是封装的一种体现。          

相关阅读

基于quartz的任务调度插件封装,快速集成项目

simple-quartz-tasks基于quartz的任务调度插件,引入到spring项目中实现任务信息装载接口即可使用,依赖于redis的订阅完成对任务的立

面向对象三大特点

封装: 1.封装是面向对象编程的一大特点 2.面向对象编程的第一步,将属性和方法封装到一个抽象的类中(抽象是因为类不能被直接使用) 3.

线程(Thread)与委托(Invoke和BeginInvoke)和封装

线程(Thread)与委托(Invoke和BeginInvoke)这几天专门玩线程与委托,到处查找资料看,渐渐明白了用法、写法和一些注意事项; 描述:什么是进程

面向对象:斯人若彩虹,遇上方知有

各位男生如果看

集成电路与封装介绍

集成电路 2018年,中兴危机深深地刺痛了国人的神经。这次危机暴露出的是我们国家的集成电路产业的落后。其中涉及的芯片技术、国际

分享到:

栏目导航

推荐阅读

热门阅读