第五天

第五天-纠结的面向对象(Object-Oriented,OO)

今天直接进入了Java的面向对象的学习,面向对象是Java的一大语言特性之一,也是最近流行的一种程序设计、开发方法,较常见的面向对象语言有C++、Java、C#、Objective-C,面向对象语言的刻画客观对象较为自然,便于软件的拓展与复用,面向对象主要有以下几个特性:

  • 继承
  • 多态
  • 封装

今天老师的主要内容:

  • 类和对象的区别
  • 类的属性
  • 构造方法
  • 类的方法
  • 实例化类
类和对象的区别

类是对象的模板,对象是类实例。

类的属性

属性是类中定义的变量,用来描述类的特征。如以下语句表达了人这个类的属性。

//Manking.class
public class Mankind{
public String name;
public String sex;
public int age;
public Date birthday; 
}
构造方法

构造方法是类中的和类同名的一个公共方法,用来初始化类的属性,构造方法没有返回值,但是可以有参数类别,如Manking.class的构造方法为public Mankind(参数列表){表达式};,构造方法一般在实例化类的时候根据所传的参数自动调用相应的构造方法。代码清单:

//Mankind.class
public class Mankind{
    //定义属性
    public String name;
    public String sex;
    public int age;
    public Date birthday;
    //无参的构造方法
public Mankind(){
    //表达式
} 
    //有参数的构造方法初始化属性
public Mankind(String name;String sex,int age,Date date){
    
    this.name=name;
    this.sex=sex;
    this.age=age;
    this.birthday=date;
    }
}
类的方法

类中的方法是用来描述类的行为和动作的,如Mankind.class可以定义人这个类的一些行为,走路``吃饭``睡觉等等。代码清单:

//Mankind.class
public class Mankind(){

    //走路的行为方法
    public void walk(){
        Print("The man is walking.");
    }
    //吃饭行为的方法
    public void eat(){
        Print("The man is eating");
    }
    //睡觉行为的方法
    public void sleep(){
        Print("The man is sleeping");
    }
    //有参数的方法
    public void takeBus(String whichBus){
        Print("The take the "+ whichBus);
    }
    //有返回值的方法
    public String getWrite(){
        return "The man is writting";
    }
}
实例化类

类的实例化是指用类这个模板来新建一个具体的实例(对象),在面向对象的语言中,一般用new关键字来实例化类。代码清单:

//Mankind.class
//实例化类的时候调用无参的构造方法
Mankind man=new Mankind();

//实例化类的时候调用有参数的构造方法
Mankind man=new Mankind("name","sex",age,birthday);

//方法的调用

//调用吃饭的方法
man.eat();

//调用有参数的方法
man.takeBus("Metro");

//调用有返回值的方法
String write=man.getWrite();
Print(write);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、 创建一个对象,内存是如何分配1). 子类对象中有自己的属性和所有父类的属性2). 代码段中每一个类都有一个i...
    _凌浩雨阅读 290评论 0 1
  • 一、数组的常见操作 pop() 删除最后一个shift() 删除第一个push() ...
    LIT乐言阅读 117评论 0 2
  • 一. 用一个属性引用UI控件的时候为什么可以用weak? controller 是被系统用强指针引用者 只要它存在...
    放肆肆肆阅读 1,349评论 4 15
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,740评论 18 399
  • 【昨日感悟】 工作中再一次使用到英语,开始能比较顺利的沟通了,但是应该要流利的沟通,所以,还是要继续学习英语。 再...
    爱游泳的Danny阅读 159评论 0 1