面向对象1

面向过程和面向对象都是语言设计思想(宏观)。

面向过程的程序设计思想 (简称POP)

面向过程(具体步骤)

分析完成事件需要的步骤,并逐一实现,直至完成事情。 (是早期的编程语言设计思想,结构简单)

例如:c语言就是一个典型的面向过程的语言。

后面的程序设计愈加复杂,单纯面向过程难以胜任设计需求。

现有的大半语言都是面向对象:

如:C++,C#,java,python等。

面向对象的程序设计思想(OOP)

面向对象时,从宏观上分析程序的功能,然后对功能进行分类,把不同的功能存在不同的类中,是一种宏观的设计。

但具体实现中,面向对象仍离不开面向过程。

关注的焦点是:在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,用类来表示。

代码结构:以类为组织单位。每种事物都具有自己的属性和行为/功能。

不要把面向过程和面向对象对立起来;他们是相辅相成的,面向对象离不开面向过程。

面向对象具体实现:

类和对象时面向对象的核心概念

类:具有相同特征的事物的抽象概念,是抽象的,概念上的定义。

对象:实际存在的该事物的每个个体,是具体的,可使用的,也称为实例。

类的结构:

变量:(名词)事物的属性

方法:事物的行为(动词)

构建方法:给对象初始化

块:一段没有名称的代码块;

1.发现类:

类的声明格式为:

[访问权限修饰符] [修饰符] class Car{

}

访问修饰符有两种public,无

修饰符:final,abstract

关键字class用来定义一个类

类名首字母大写,见名知意,驼峰表示

2.发现类的共有属性(成员变量)

public class Car{

//成员变量定义

}

成员变量是定义在类中,方法体之外的变量

成员变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)

在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化

3.发现类的共有行为(成员方法)

方法声明格式为:

[访问权限修饰符] [修饰符]/ void start(){

System.out.println("");

[return 返回值;]

}

对象:是类的一个实例,是以类为模板在内存中创建的实际存在的实例。

同一类的每个对象有不同存储空间。

对象是一个具体的事物,具有该类事物的属性和功能。

对象的创建和使用:

通过new创建对象,然后调用{类名()}的构建方法初始化对象,

用{类名}作为类型声明的一个变量 (xx)。

然后通过“ = ”将创建对象的地址赋值给变量。

类和对象

类是这一类事物的一个抽象的概念总称,是一个模型,而对象是这个模型下所构建的一个个具体存在的实例;比方:人这个大的概念,和人中的具体的某个人(王五),万事万物皆为对象。

所以创建对象的过程也叫实例化对象.

现实生活中先有对象后有类,而编程时先设计类后创建对象.

对象与引用

java中除去8个基本类型外,其他的变量类型称为为引用类型。

其中可以通过 Zero ls =new Zero();看出

Zero()以Zero类为模板,在堆空间里创建一个Zero类对象。

用Zero作为类型声明的一个Zero类型引用变量ls。

然后通过“ = ”使对象引用指向刚创建的那个Zero对象。

public class TextZe {

    public static void main(String[] args) {
        Zero ls =new Zero();
        ls.name ="李四";
        ls.yuansu ="呆";
        ls.jiage=80;
        ls.potlown();
        ls.work("采矿");
        System.out.println("===============================");
        Zero zsl = new Zero();
        zsl.name ="王五";
        zsl.yuansu ="乐";
        zsl.jiage=90;
        zsl.potlown();
        zsl.eat("面条");
        System.out.println("---------------------------------------------");
        Zero dxr =new Zero("宋七",20,"女");
        dxr.pot();
        System.out.println("---------------------------------------------");
        Zero wb =new Zero();//创建了一个实体,并创建了引用变量
        wb.name="吴八";
        Zero wj=wb;
        wb.Name();
        wj.Name();
    }
}
public class Zero {

    //属性
    String name;
    String yuansu;
    float jiage;
    //成员方法
    //方法的重载:指一个类中具有相同的名字,但参数不同的多个方法,如下的eat和work。
    /*
    参数不同:数量,类型,顺序不同。
    */
    public void eat(){

        System.out.println("吃");
    }
    public void eat(String food){
        System.out.println(name+"吃"+food); }
    public void work(){
        System.out.println("工作。");
    }
    public void work(String gongzuo){
        System.out.println(name+gongzuo);
    }
    public void potlown(){
        System.out.println("姓名:"+name+","+"属性:"+yuansu+","+"价格:"+jiage+"元/天。");
    }
    /*--------------------------------------------------------------------------------*/
    //成员变量
    String ming;
    int age;
    String xingbie;
    //方法
    //构造方法名与类名相同,且没有返回值,且不需要使用void修饰
    //构建方法---->为创建的对象的成员变量进行赋值
    //当方法中没有构建方法时,程序默认定义一个无参的构建方法,而当程序定义一个有参的构建方法时,默认的无参构建方法失效,需要重新定义一个无参的构建方法让其显示出来。
    //如下:
    //无参构建方法
    public Zero(){
        /*完整:
        ming=null;
        age =0;
        xingbie =null;*/ }
    //有参构建方法
    public Zero(String m,int a,String x){
        ming = m;
        age = a;
        xingbie = x;
    }
    //成员方法
    public void pot(){
        System.out.println("名字:"+ming+","+"年龄:"+age+","+"性别:"+xingbie+"。");
    }
}

  • 28
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值