第十一、Java的面向对象(一)

来源:互联网 发布:浙江旅游数据 编辑:程序博客网 时间:2024/06/06 02:21

类与对象的概念

对象:真实存在唯一的事物。
类: 实际就是对某种类型事物的共性属性与行为的抽取。  抽象的概念....   车

我们从小的时候就不断的接触很多的对象,我们的大脑就会把这些具备相同属性与行为的事物进行分类。
在现实生活中就存在对象与类这两种事物。计算机是服务于人类,为了让计算机更加接近我们的生活,这时候就出现了面向对象的计算机语言。

面向过程(C)                  面向对象(java)

现实生活中 : 对象---------类
在java中:  类------------>对象


面向对象的计算机语言核心思想: 找适合的对象做适合的事情。

如何找适合的对象:
1. sun已经定义好了很多的类,我们只需要认识这些类,我们就可以通过这些类创建对象使用。 
2. 自定义类,通过自定义类来创建对象使用。


自定义类创建对象的三步骤:

1. 自定义类。

格式:
class 类名{
事物的公共属性使用成员变量描述。
事物的公共行为使用函数描述。
}

2. 通过自定义类创建对象。

格式: 
类名 变量名 =  new 类名();

3. 访问(设置)对象的属性或者调用对象的功能。

1.访问对象属性的格式:
对象.属性名.
2.设置对象的属性:
对象.属性名 = 数据。
3. 调用对象的功能
对象.函数名();

//车类class Car{//事物的公共属性使用成员变量描述。Stringname; //名字的属性Stringcolor; //颜色属性int wheel;//轮子数//事物的公共行为使用函数描述。public void run(){System.out.println(name+"飞快的跑起来啦...");}}       //主函数public static void main(String[] args) {/*//使用了Car类声明了一c变量, c变量指向了一个车对象。Carc = new Car(); //设置车对象的属性值。c.name = "BMW";c.color = "白色";c.wheel = 4;//访问车对象的属性值System.out.println("名字:"+ c.name+" 颜色:"+ c.color+" 轮子数:"+c.wheel);c.run();*/Carc1 = new Car(); c1.name = "宝马";Car c2 = new Car();c2.name = "大众";c1 = c2; System.out.println("名字:"+ c1.name);  }


初学者的经典错误:

1. 变量在同一个作用域(大括号)上是可以直接访问的。
2. 如果一个类要访问另外一个类变量时,那么这时候就只能通过创建对象进行访问。(仅对于目前正确)




需求: 一个类要访问另外一个类变量

使用java描述一个车与修车厂的故事。 

车具备的公共属性:轮子数、 名字、 颜色 ,还具备跑的功能行为。跑之前要检测轮子是否少于了4个,如果少于了4个,那么要送到修车厂修理,修车厂修理之后,车的轮子数要补回来4个。 然后车就继续的跑起来。

修车厂: 具备公共属性: 名字、 地址、 电话。
公共的行为: 修车。

//车类class Car{//事物的公共属性使用成员变量描述String name ; // 名字String color; //名字int wheel; //轮子数//事物的公共行为使用函数描述public void run(){if(wheel>=4){System.out.println(name+wheel+"个轮子飞快跑起来..");}else{System.out.println(name+"不够4个轮子了,赶快去修理");}}}//修车厂class CarFactory{String name;//名字String address ;//地址String tel;//电话//修车公共行为 ------ 返回值类型、 未知的参数public void repair(Car c){if(c.wheel>=4){System.out.println("告诉你,费了很大力气修好了,给钱");}else{c.wheel = 4;System.out.println("修好了,给钱!!");}}}class myClass {public static void main(String[] args) {/*//0x98Car c = new Car();//给车对象赋予属性值c.name = "陆丰";c.color = "黑色";c.wheel = 4;for(int i = 0 ; i<100 ; i++){c.run();}c.wheel = 3;c.run();//创建修车厂对象CarFactory f = new CarFactory();//给修车厂赋予属性值f.name = "4S修车厂";f.address = "横岗志健广场一楼";f.tel = "020-1234567";//调用修车的修车f.repair(c);//0x98//c.run();*///需求: 调用一次repair方法。  前提: 该对象调用完一个方法之后,这个对象就不再使用了。}}


0 0
原创粉丝点击