面向对象1

  面向对象(oo)
面向过程: 考虑的是过程和步骤  think how to do !
面向对象: 考虑的是有几个对象 对象如何直接访问 这些对象能够干什么
              think what to do  !
例题 :开车去北京旅游
       面向过程:1.打开车门  2.启动  3经过九江  4. 武汉.........
       面向对象: 车   (开车去北京)

基本的概念:
      对象:一切皆对象。在JAVA的眼里,无论什么都是对象。
      对象的组成:
                  属性:名词(成员变量)
                  行为:动词(方法)

   

类:对象的模板。具有相同属性和行为的一组对象的集合。
       对象和类的区分  对象是具体存在的  类的抽象的概念。
       在JAVA中,先创建类 再通过类在创建具体的对象。
 在同一个文件中,只能有一个public类是在main方法下的。
 字符串连接符:当+号一边是字符串类型的时候+号就是字符串连接符。“abc+dfg”
例题:
 public class Test{
    Public static void main(String  args[]){
               Person p = new Penson();
               P.name= '"jack"
               P.age="20"
 
    }
 }

 class Person{
    String name;
    Int age;
 }
 pcublic  void sleep(){
     System.out.println(name+"is sleeping")
 }
 
 
 构造方法(构造器,构造函数)
 最大的作用就是来创建对象!
 构造方法是一种特殊的方法
             (1). 与类名相同
            (2)没有返回值类型,连void都没有
            (3)每个类都有一个隐式的构造方法,隐式的构造方法没有参数没有方法体
            (4)如果我们手动的添加了一个显示的构造方法,隐式的就不存在了
            (5)构造方法只能和new关键字一起使用来创建对象,不能调用。
                  Person p = new Penson();
                

例题
Tom猫抓住了老鼠jacky,jacky哭了
 1.先找到几个对象(猫和老鼠)
 2.通过对象找出有几个类
 3.找出每个类中有哪些属性和方法
 4,.调用方法实现功能

Public class Test{
   Publuc static void main(String args[]){
       Mouse m=new Mouse();
       M.name = "jack";
       Cat cat = new Cat();
       Cat.name = "tom";
       cat.catchMouse(m);
    
   }
}

class Cat{
     String name;
   public void catchMouse(mouse m){
         m.cry();

   }
}

Class mouse{
     String name;
   public void cry(){
       System.out.println("name+is crying");  
    }
}


张三吃了李四的一根头发

public class Test{
   public static void main (String  arg[ ]){
     Penson p1 = new penson();
      P1.name = "张三";
      Penson p2 = new penson();
      P2.name = "张三";

     Hair h1 = new Hair();
     p2.h = h1;
     p1.eat(p2.h);
                   

   }
}

class penson {
   String name;
   Hair h;
   public void eat(Hair hair){
    
   }
  
}

class Hair {
  
}

 

坦克大战
专家模式:方法改变谁的状态。方法就属于谁,
例如:
 车类有一个属性sheep 如果 sheep的值为100 代表这个车在高速行驶, 如果这个车停止,则sheep=0;
 状态:属性的值(成员变量的值)
 改变对象的状态其实就是改变成员变量的值。
引用数据类型(类,数组等等)

posted @ 2013-02-17 20:48  白小白丶  阅读(135)  评论(0编辑  收藏  举报