面向对象的理解

  今天对前几天的内容进行了回顾。有些东西老师讲得时候觉得挺明白的,但是自己写代码的时候还是觉得有点儿困难,猛得一做题不知道从哪儿下手。我觉得还是掌握得不够熟练,所以今天又回顾了一下老师讲的面向对象的内容,以下是我整理的一些知识点。

  1.什么是对象  客观世界存在的物体。

  2.对象和类的关系     同种对象的集合,是对现实世界中实体的抽象。

  3.面向对象的三大特征?  封装性 继承性    多态性

  4.封装的好处:a.隐藏类的实现细节   b.方便加入控制语句  c.方便修改实现  d.只能通过规定方法访问数据

  5.继承父类黑子类的关系   子类继承父类的属性,但是不继承父类的值

  6.构造函数的作用    用来对成员变量进行初始化

  7.重构   参数的个数  参数的顺序  参数的类型

 有关类的定义的一些知识点;

  1.类的定义:关键字class+类名{}

  cat  c = new cat();//实例化对象,生成一只小猫

  2.构造函数  public +类名,用来对成员变量进行初始化

  3继承  抽取相同的部分  关键字是extends  举例说明:先定义一个Dog类  然后封装成员变量 private String name; pritvate int age;

然后定义一个void show(){}方法包括方法体,再定义void   eat(){System.out.println("ken gu tou")}  

用同样的方法定义一个Cat类

然后再在包的下边定义一个Animal的类  ,让Dog类和Cat类继承Animal这个类。在主函数里边实例化对象。给之前的成员变量加上set 和get方法

代码如下:

package com.wj.num1;


class Cat{
private String name;
private int age;
public Cat(int age,String name)//构造函数,用来对成员变量进行初始化
 
{
this.age = age;//this是指本对象主函数里边创建的,就是那只小猫
this.name = name;
}
public Cat()

 
}
 
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void setAge(){
 
}
void show(){
System.out.println("name="+name+"age="+age);
}
}
public class Demo {
public static void main(String[] args) {
Cat c = new Cat(3,"lucy");
//c.age = 12;
c.setAge(-12);
c.show();
Cat c1 = new Cat();
c1.show();
}


}

  4.多态 的代码如下

package com.wj.num1;
abstract class Animal{
private String name;
private int age;
abstract public void eat();//方法体

}


class Cat1 extends Animal{
private String name;
private int age;
public void eat()
{
System.out.println("chi yu");
}

}
class Dog1 extends Animal{
private String name;
private int age;
public void eat()
{
System.out.println("ken gu tou");
}
}

public class DuoTaiDemo {



public static void main(String[] args) {
Cat1 c = new Cat1();
Cat1 c1 = new Cat1();
Dog1 d = new Dog1();
Dog1 d1 = new Dog1();
//c.eat();
//c1.eat();
fun(c);
fun(c1);
// d.eat();
// d1.eat();
// fun1(d);
// fun1(d1);
fun(d);
fun(d1);


}
public static void fun(Animal a)
{
a.eat();
}
// public static void fun1(Dog1 d)
// {
// d.eat();
// }

}

   


  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值