黑马程序员_java 面向对象的理解

原创 2015年07月09日 22:03:33
------- android培训java培训、期待与您交流! ----------

1.1理解面向对象

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

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

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

面向对象:将功能封装进对象,强调具备了功能的对象面向对象是基于面向过程的

[java] view plaincopy
  1. class    
  2. {  
  3.     public static void main(String[] args)   
  4.     {  
  5.         System.out.println("Hello World!");  
  6.     }  
  7. }  
  8.   
  9. /* 
  10. 人开门:名词提炼法。 
  11.  
  12. { 
  13.     开门(门) 
  14.     { 
  15.         门.开(); 
  16.     } 
  17. } 
  18.  
  19.  
  20. { 
  21.     开(){操作门轴等。} 
  22. } 
  23.  
  24. */  


1.2面向对象的特点

三个特点:封装,继承,多态

以后开发其实就是找对象使用,没有对象,就创建对象找对象,建立对象,使用对象,维护对象的关系

2.类与对象的关系

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

想要描述,想要描述对象中共性的内容,对具体的抽象

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


映射到java中,描述就是class定义的类,具体对象就是对应java在堆内存中庸new建立实体

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

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

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

匿名对象两种使用情况:当对对象方法仅进行一次调用时,匿名对象可以作为实际参数进行传递

[java] view plaincopy
  1. class Car  
  2. {  
  3.     //描述颜色  
  4.     String color = "红色";  
  5.     //描述轮胎数  
  6.     int num = 4;  
  7.   
  8.     //运行行为。  
  9.     void run()  
  10.     {  
  11.   
  12.         System.out.println(color+".."+num);  
  13.     }  
  14.       
  15. }  
  16.   
  17.   
  18. class  CarDemo  
  19. {  
  20.     public static void main(String[] args)   
  21.     {  
  22.         //生产汽车。在java中通过new操作符来完成。  
  23.         //其实就是在堆内存产生一个实体。  
  24.         //Car c = new Car();//c就是一个类类型变量。记住:类类型变量指向对象。  
  25.   
  26.         //需求:将已有车的颜色改成蓝色。指挥该对象做使用。在java指挥方式是:对象.对象成员  
  27.         //c.color = "blue";  
  28.           
  29.         //c.run();  
  30.   
  31.         //Car c1 = new Car();  
  32.         //c1.run();//red 4;  
  33.   
  34.   
  35. //      Car c = new Car();  
  36. //      c.num = 5;  
  37.         /* 
  38.         new Car().num = 5; 
  39.         new Car().color = "blue"; 
  40.         new Car().run(); 
  41.  
  42.         Car c = new Car(); 
  43.         c.run(); 
  44.         c.num = 4; 
  45.         new Car().run(); 
  46.         */  
  47.         //匿名对象使用方式一:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化。  
  48.         //如果对一个对象进行多个成员调用,必须给这个对象起个名字。  
  49.         //匿名对象使用方式二:可以将匿名对象作为实际参数进行传递。  
  50.   
  51.   
  52.         Car q = new Car();  
  53.         show(q);  
  54.   
  55.         //show(new Car());  
  56.     }  
  57.   
  58.     //需求:汽车修配厂。对汽车进行改装,将来的车够改成黑车,三个轮胎。  
  59.     public static void show(Car c)  
  60.     {  
  61.         c.num = 3;  
  62.         c.color = "black";  
  63.         c.run();  
  64.     }  
  65. }  


3.封装

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

好处:将变化隔离,便于使用,提高重用性,提高安全性

封装规则:将不需要对外提供的内容都隐藏起来把属性都隐藏,提供公共方法对其访问

[java] view plaincopy
  1. /* 
  2. private :私有,权限修饰符:用于修饰类中的成员(成员变量,成员函数)。 
  3. 私有只在本类中有效。 
  4.  
  5. 将age私有化以后,类以外即使建立了对象也不能直接访问。 
  6. 但是人应该有年龄,就需要在Person类中提供对应访问age的方式。 
  7.  
  8. 注意:私有仅仅是封装的一种表现形式。 
  9.  
  10.  
  11. 之所以对外提供访问方式,就因为可以在访问方式中加入逻辑判断等语句。 
  12. 对访问的数据进行操作。提高代码健壮性。 
  13.  
  14. */  
  15.   
  16. class Person  
  17. {  
  18.     private int age;  
  19.     public void setAge(int a)  
  20.     {  
  21.         if(a>0 && a<130)  
  22.         {  
  23.             age = a;  
  24.             speak();  
  25.         }  
  26.         else  
  27.             System.out.println("feifa age");  
  28.     }  
  29.   
  30.     public int getAge()  
  31.     {  
  32.         return age;  
  33.     }  
  34.     private void speak()  
  35.     {  
  36.         System.out.println("age="+age);  
  37.     }  
  38. }  
  39.   
  40. class PersonDemo  
  41. {  
  42.     public static void  main(String[] args)  
  43.     {  
  44.         Person p = new Person();  
  45.   
  46.         //p.age = -20;  
  47.         p.setAge(-40);  
  48.         //p.speak();  
  49.     }  
  50. }  
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

黑马程序员--java面向对象的理解

------- android培训、java培训、期待与您交流! ---------- 理解面向对象的思想,首先我们需要知道在理解面向对象时需要知道的几个名词:对象、类。   对象:  ...

黑马程序员_java面向对象相关 个人理解

------- android培训、java培训、期待与您交流! ---------- 以下仅为个人平时学习笔记,可能有有错误的地方,希望有看到者提出来,共同讨论,谢谢! 1.继承   并不...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

黑马程序员--Java面向对象理解

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------ 1.1 面向对象概念1.1.1 面向对象概念 面向对象(Object Oriented,O...

黑马程序员_java面向对象 初识

------- android培训、java培训、期待与您交流! ---------- 面向对象概述并举例说明 面向过程 强调过程,执行者,强调的是功能行为面向对象 强调对象,指挥者,将功能封...

黑马程序员java学习笔记——面向对象的特征封装、继承和多态

感觉面向对象是在java中比较难的内容,但也是核心内容,毕竟写代码思想是很重要的,面向对象就是一种思想,精通这种思想,编程就会变的简单。下面就是我学完面向对象这一部分做的笔记。     面向对象   ...

黑马程序员——Java语言--面向对象(一)

———–android培训、java培训、java学习型技术博客、期待与您交流!———— 面向对象 1、先举个例子,说一下面向过程和面向对象的区别所在:大象装进冰箱。 面向过程:打开冰箱,存储...

黑马程序员_java_面向对象总结

------- android培训、java培训、期待与您交流! ---------- 面向对象是学习java语言的重要思想,所以学好面向对象是非常重要的。 通过黑马视频教程的学习,我对面...

黑马程序员——java基础----面向对象(四) 异常处理

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 异常处理 1,什么是异常:            异常就是程序中出现的问题或者是非正常的情况。 ...

黑马程序员——java基础——面向对象的多态

android培训、java培训期待与您交流! 因为多态的应用比较多所以整理一下我对多态的学习。 多态:同一个对象(事物),在不同时刻体现出来的不同状态。 举例: 猫是猫,猫也是动物的子类。 ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)