为什么使用面向对象
1.用计算机的语言描述世界;2用计算机解决现实世界的问题
面向对象设计和开发程序的好处
1.交流更加流畅;2.提高设计和开发效率
面向对象的基本步骤
面象对象设计的过程就是抽象过程,分以下三步来完成。
第一步:发现类
第二步:发现类的属性
第三步:发现类的方法
宠物狗狗类 public class Dog { String name="哈哈"; int health = 100; int love =100; String strain="二哈"; public void print(){ System.out.println("宠物的自白:\n我的名字"+this.name
+",健康值是"+this.health+",和主人的亲密度是"+this.love+",我是一只"+this.strain+"。"); } }
宠物企鹅类 public class Penguin { String name="嘿嘿"; int health = 100; int love = 100; String sex="Q仔"; public void print(){ System.out.println("宠物的自白:\n我的名字"+this.name+",健康值是"+this.health
+",和主人的亲密度是"+this.love+",性别是"+this.sex+"。"); } }
测试类 public class Test { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("欢迎您来到宠物店!"); System.out.println("请输入要领养的宠物的名字:"); String name = input.next(); System.out.println("请选择要领养的的类型:(1.狗狗 2.企鹅)"); int num = input.nextInt(); switch(num){ case 1 : System.out.println("请选择狗狗的品种:(1.二哈2.金毛)"); String strain= input.next(); if(input.nextInt()==1){ strain = "二哈"; }else{ strain = "金毛"; } Dog dog=new Dog(); dog.name=name; dog.strain=strain; dog.print(); break; case 2 : System.out.println("请选择企鹅的性别:(1.Q仔 2.Q妹)"); String sex=input.next(); if(sex.equals("1")){ sex="Q仔"; }else{ sex="Q妹"; } Penguin pgn = new Penguin(); pgn.name=name; pgn.sex=sex; pgn.print(); break; } } }
构造方法
语法: 修饰符 类名(){ }
在执行的时候,无参构造方法会自动生成,但是如果类中有了有参构造方法,则不会自动生成。推荐在写类的时候将有参和无参构造方法都写;在我们执行的时候,new对象时,对象名后面括号[ Dog dog = new Dog() ] 里面可以有的参数类型必须符合类中已声明的有参构造方法
public Dog(){ System.out.println("Dog无参构造方法...."); this.name="二哈"; } public Dog(String n,int h,int love){ System.out.println("有参构造方法...."); this.name=n; this.health=h; this.love=love; } 测试 Dog dog = new Dog(); Dog dog2= new Dog("二哈",89,100);
方法重载
在同一个类里面方法名相同,参数列表(方法参数的个数或参数类型)不同,称之为 方法重载 方法重载与方法返回值和方法修饰符没有任何关系
封装
封装是面向对象三大特征之一(另外两个是继承和多态),它指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象的信息,而是通过该类所提供的方法来实现对内部的操作和访问。
步骤
1.将属性私有化 设为private
2.编写setter方法,针对用户输入的值进行判断
3.编写getter方法来获取值
原文:https://www.cnblogs.com/wufanfan/p/12871368.html