Day_5面向对象

来源:互联网 发布:c语言为什么要指针 编辑:程序博客网 时间:2024/05/01 19:54

Day_5面向对象

通过类的方式,来组织代码,以对象的方式,封装数据

1、       对象:具体的事物(属性(变量):区分其他对象,行为(方法):对象的功能)

类:对对象的抽象,就是java在堆内存中new建立的实体。

2、消息:对象之间通过消息联系(程序中调用相关方法)

目的对象(传递的对象)     方法的名称(调用的方法)方法参数(执行效果不同)

1)一个对象可以接收多个消息,响应不一样

2)相同消息给不同对象,所做的响应不同

3)发送方不需要知道接收方如何对请求予以响应的。

3、面向对象的特性:

封装:隐藏底层的实现细节,对于操作人没有影响。

继承:(更好地进行抽象与分类,减少代码和数据的冗余,实现代码的复用,提高可维护性)

子类继承了父类的所有属性(特殊与一般的关系)

有特殊关系的时候(老师和人),可以使用继承。Cpu和电脑,就不能继承,值属于一部分。

多态:多种形态,必须先实现继承,才能实现继承

类:

public classPersonTest05 {

   int age;

   Stringname;

   int weight;

   //PersonTest05[] person=new PersonTest05[100];//通过绑定就以上属性

   public static void main(String[] args){

      //创建一个对象

      int x=5;

      //new PersonTest05()创建真正的对象,并将起始地址返回给person变量

      PersonTest05person=new PersonTest05();//person只是引用,指向堆上真正的对象

      //通过    . 可以访问类的成员

      person.name="蓉蓉";

      person.age=18;

      person.weight=40;    

      //PersonTest05 person2;

      //person2.name="heihei";//没有通过new一个真正的对象,所有没有引用,错误的。

   }

}//变量存放了谁的地址,就说明指向了谁,引用了谁。

4、成员变量的作用域是整个类。(成员变量有默认值,局部变量没有默认值)

在局部变量的作用域内,起作用的是局部变量。即,成员变量被局部变量所隐藏。需要访问成员变量用.this访问

5、       方法(实现功能)

实现了代码重用

person.computer(x,y); //调用方法computer,跳转到方法内执行

/* 修饰符返回类型 方法名(参数列表)

    *    {方法体}

    */

public void computer(inta,intb){

      int sum=a+b;

      int sub=a-b;

      System.out.println(sum);

      System.out.println(sub);

}

 

每创建一个对象,就会分配新的空间,每个对象都有自己的成员变量,方法共享

6、   参数传递(不管参数的类型是什么,参数传递永远是值传递。)

基本类型:在方法内,形参的改变无法反作用于实参

引用类型:可以让实参和形参指向相同的对象,进而可以通过形参来改变内部的值(成员变量的值)。但是,无法改变实参本身(引用本身)。

Class car{

String color=”红色”

Int num=4;

//运行行为

Void run(){

System.out.println(color+num);

}

}

Class carDemo

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

Car c=new Car();  //c是类类型变量,指向对象

//改变颜色,指挥对象做事物,方式:对象。对象成员

c.color=”blue”;

c.run();    //蓝色

 

Car c1=new Car();

C1.run;  //红色

}

}

public classBank5 {

    int money;//余额

 

public void despiteint amount{

money+=amount;

}

Public void withdraw(int amount){

Money=money-amount

}

0 0
原创粉丝点击