Java学习笔记(一)——面向对象

从网上下了一个Java的视频课件,以下的内容是根据所听的课程做的笔记。
1、面向对象——是一种思想,一种解决问题的模式。也就是说,不管我们遇见什么问题,都需要从面向对象的角度出发,用面向对象的思想来对问题进行分析,建模,直至解决问题。
2、怎样用“面向对象”的思想来解决问题?
  用“面向对象”的思想解决问题需要三步:
  1)OOA——面向对象分析(“对象”具有标识、属性和行为三个方面。)
  2)OOD——面向对象设计
  3)OOP——面向对象编程
/*对学生类进行分析,抽象(这句话的意思就是要创建一个学生类)*/
从面向对象的思想出发:
   第一步:OOA   在这里面只有学生这个对象,所以:
       标识:学生(对象)
       属性:学号
             姓名
             性别
             专业
             ……
       行为:上课
             吃饭
             走路
             跑步(假设我不需要这个行为,那么就把它抽象出去)
             ……
      注:“抽象”——取其精华,去其糟粕。即:要抽象出对我们有用的属性和行为。
    第二步:OOD
        标识:Student
        属性:stuNO:String
              stuName:String
              stuSex:int     (0表示女,1表示男)
              dept:String
        行为:goSchool():void
              goEat():void
              goRun():void
    第三步:OOP
        class Student{
           String stuNO;
           String stuName;
           int stuSex;
           String dept;
      
           void goSchool(){   }
           void goEat() {  } 
           void goRun(){  }
        }
     至此,我们完成了用面向对象的思维模式来解决问题。
/*问题:写一个程序,模仿自动取款机存钱、取钱的过程。*/
OOA:标识:自动取款机(ATM)——开户(需要有银行卡才能存取款,所以真正的对象是卡)
      属性:账号accountid
            账户余额sumMoney
      行为:存钱
            取钱
            查询账户余额(题目中没要求,所以不需要)
OOD:
      标识:Account
      属性:账号accountid:String
            余额sumMoney:double
      行为:
            saveMoney(int money):void
            drawMoney(int money):int
OOP:
      class Account{
         String accountid;
         double sumMoney;
         void saveMoney(int money){
              /*功能就是账户余额增加*/     
                 sumMoney+= money;
                    }
         int drawMoney(int money){
             /*功能就是账户余额减少*/
                sumMoney-=money;
                return money;
                    }
        }

3、什么是对象?
   对象具有标识、属性和行为;并且是唯一的。是类的一个实例(也就是特例)

4、什么是类?
   类具有标识、属性和行为。是一类具有相同属性和行为的对象的抽象。

5、类和对象的关系
    1)类是对象的抽象
    2)对象是类的一个实例
       创建类的一个实例的方式为:
            类名  对象名 = new 类名();

6、类里面包含的成员?
    变量:(也就是属性)
    方法:(也就是行为)
    对变量的操作必须放在方法中进行,除了对变量进行初始化可以放在定义变量时进行以外。

7、变量
   1)成员变量——在类体内声明的变量,称之为成员变量
       a、常量——用final关键字修饰的成员变量,称之为常量。
               在声明常量时,必须对其进行初始化;且初始化后,不能被修改
               如 final double PI=3.14159;常量在系统内不占用内存。
       b、实例变量(非静态变量)——没有被关键字static、final修饰的成员变量,
                                    称之为实例变量。
                                  实例变量只能通过对象来访问。
       c、 类变量(静态变量)——用关键字static修饰的成员变量,称之为类变量(静
                                态变量)。
                           类变量既可以通过对象来访问,也可以通过类名来访问。
       实例变量和类变量的区别在于:类变量是共享的,通过每一个对象都可以更改其值,而实例变量则是针对每一对象的,每一个对象只能改变自己所对应的实例变量值。
   2)局部变量——在方法体内声明的变量,称之为局部变量

8、变量的作用域
   成员变量的作用域——整个类体内,位置可以随意放置。
   局部变量的作用域——在方法体内声明的变量,其作用域从创建此变量开始,直到此方法体结束。其他情况下声明的变量从局部变量创建并开始到本层的}结束。

你可能感兴趣的:(java,设计模式,编程,oop)