java学习第八天(对象的创建和使用)

OOP(面向对象编程)

面向过程和面向对象:

   **什么是面向过程**:比如要完成一个项目,仅仅是通过代码把这个过程写出来,所有的执行步骤与算法都是未封装的代码算法完成的,
     没有抽象化这一个项目,什么是抽象化一个项目,就是提取这个项目的抽象性质,形成一个类,像是自然界物种的划分,界门纲目科
	 属种,分门别类。
   #什么是面向对象:面向对象关注的是代码功能,不再是过程怎样实现,把过程封装,就像是之前学的方法,通过一个方法要计算两
     个数的和,面向对象思想就是不关注这个方法内部是怎样写的,只关注他的功能,而面向对象编程就是把问题抽象为一个类,这个类
	 包括了要解决问题的性质与方法。
例:比如我们完成一个学生成绩管理系统,我们可以抽象化出一个学生类,抽象出的内容是什么,学生姓名,学生性别,学生学号,学生所
    在班级,学生的各科成绩,除此之外我们还想要做什么,打印学生成绩,计算学生排名,统计各科优秀率,等等,我们把这些归为一个
	类,模块化,系统化。

面向对象的优缺点

   **优点**:易维护、易复用、易扩展,低耦合(当某一块程序出问题时,可能并不印象其他模块工作)
   **缺点**:前期开发设计成本高,性能比面向过程低。
**注**:耦合性(英语:Coupling,dependency,或称耦合力或耦合度)是一种软件度量,是指一程序中,模块及模块之间信息或参数依赖的程
    度。 内聚性是一个和耦合性相对的概念。

*面向对象的三大特性:

   #封装
   #继承
   #多态

*面向对象程序设计:

   #面向对象的分析:OOA//Object Oriented Analysis
   #面向对象的设计:OOD//Object-Oriented Design
   #面向对象的编程:OOP//Object Oriented Programming

类和对象

类是一个模板,是概念,是对事物的抽象。
对象是类的实例化。

类的定义

语法结构:
【修饰符列表】 class 类名{
	属性;
	方法;//即类体
}
比如一个汽车类
本身的性质信息:
	汽车颜色,汽车发动机型号,汽车生产厂家,汽车品牌等//一般用变量表示
汽车的使用信息:
	百公里加速,油量显示,速度显示等//定义方法去实现功能

再比如一个学生类
学生本身具有什么:
	姓名,性别,年龄,学号,学习成绩等
学生具有什么属性或者说学生会做什么事:
	查看自己的成绩,计算自己的平均分等

对象的创建和使用

对象的创建:类名 对象名=new 类名();
使用成员变量: 对象名.变量名;
使用成员方法: 对象名.方法名;

public class Car//汽车类,不在需要static
{
    //类体
    //行为->方法

    public void Print()//打印汽车信息
    {
        System.out.println("颜色:"+colour);
        System.out.println("发动机型号:"+engineType);
        System.out.println("生产厂家:"+manufacturer);
        System.out.println("品牌:"+trademark);
        System.out.println("可载人数:"+numOfload);
        System.out.println("轮胎数量:"+numOftire);
    }

    public void Velocite()//速度
    {
        System.out.println("百公里加速开始:");
        for(int i=0;i<=100;i++)
        {
            System.out.print(i+" ");
        }
        System.out.println();
        System.out.println("百公里加速完成");
        System.out.println("请小心驾驶");
    }

    public void Drive()//开车
    {
        System.out.println("欢迎使用");
    }

    public void Stop()//停车
    {
        System.out.println("减速停车");
    }

    //属性->成员变量
    String colour;//汽车颜色
    String engineType;//发动机型号
    String manufacturer;//生产厂家
    String trademark;//品牌
    short numOfload;//可载人数
    short numOftire;//轮胎数量
}


//使用
public class Cardemo {
    public static void main(String[] args) {
        Car car1=new Car();
        car1.colour="黑色";
        car1.engineType="猎豹";
        car1.manufacturer="克扣";
        car1.trademark="马奇";
        car1.numOfload=10;
        car1.numOftire=6;
        car1.Print();
        car1.Drive();
        car1.Velocite();
        car1.Stop();
    }
}
//运行结果
/*
颜色:黑色
发动机型号:猎豹
生产厂家:克扣
品牌:马奇
可载人数:10
轮胎数量:6
欢迎使用
百公里加速开始:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 
百公里加速完成
请小心驾驶
减速停车
*/

:自定义的类和sun公司定义好的String类等都属于引用数据类型,非八种基本数据类型

/*
成员变量未赋值的情况下系统的默认赋值
数据类型		默认值
int				0
byte			0
short			0
long			0
double			0.0
float			0.0
boolean			false
char			\u0000
引用数据类型	NULL//空,此时将返回地址
*/

你可能感兴趣的:(java学习计划,java,学习,开发语言)