A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小鲁哥哥 于 2017-11-8 13:57 编辑

【黑马程序员济南】JavaEE基础阶段必会案例NO.14

黑马程序员课程内容丰富多样,每个知识点我们都设计有新奇的案例让大家练习。黑马程序员训练营的课程也是案例驱动教学,每天都会进行大量的代码练习。今天我们就来一起做一个基础阶段第7天的一个小案例。

         案例要求:分析以下需求,并用代码实现:
         写一个宠物类:Pet
            属性:  物种: kind
                        颜色: color
                        年龄:age
           行为(方法): get  set   构造
                                    吃东西:eat

            测试类:
                                   创建一个宠物对象   猫 黄色    2岁
                                   吃鱼

                                   创建一个宠物对象  狗  黑色    4岁
                                   吃狗粮

         案例分析:我们要用到的知识点:面向对象标准类的创建,快速生成get set  方法和构造方法,创建对象调方法

         分析完一个大概以后我们先回顾一下知识点:

         标准类
                属性:数据类型 和  私有化private
                        
                方法:set  get  参数  返回值

                创建一个标准类:
                        1 先写属性
                        2 再写get set方法快捷键:alt + shift + s
                        3 构造方法 alt + shift + s

        封装思想:
                银行柜台  是一种封装:目的是保护里面人员和财产的安全
                类 和 方法  是一种封装:目的是保护里面数据的安全

        面向对象:
                什么是对象什么是类?
                        类是一个模板,对象是一个具体的东西
                        生孩子,生下来才有名字和其他属性
                        生孩子相当于创建对象:
                        Student s = new Student();
                        s.setAge(23);
                        s.setName("张三");
               
        局部变量 和 成员变量
                位置:
                        成员变量写在类中方法外;局部变量写在 方法中 或者 方法声明上
                范围:
                        成员变量范围大,整个类。 局部变量的范围 方法中
        
        构造方法:包括 有参构造、空参构造

                  如果不写构造方法系统会给我们提供一个空参构造
                  如果写了有参构造,系统就不会提供空参构造了,需要我们自己写空参

                  构造方法的2个特点:
                        1 没有返回值类型 连void都没有
                        2 方法名和类名相同
               
        给属性赋值有2种方法:
                1  new 空参构造 + set 方法
                2  new 有参构造

       好,接下来,我们就开始写代码咯~  首先写个标准类:
   
[Java] 纯文本查看 复制代码
public class Pet {[/align]
        private String Color;
        private String Kind;
        private int age;
        
        public String getColor() {
                return Color;
        }
        public void setColor(String color) {
                Color = color;
        }
        public String getKind() {
                return Kind;
        }
        public void setKind(String kind) {
                Kind = kind;
        }
        public int getAge() {
                return age;
        }
        public void setAge(int age) {
                this.age = age;
        }
        public Pet(String color, String kind, int age) {
                super();
                Color = color;
                Kind = kind;
                this.age = age;
        }
        public Pet() {
                super();
        }
        public void eat(String food){
                System.out.println("一只"+this.age+"岁大的"+this.Color+this.Kind+"在吃"+food);
        }
}

            标准类的书写已经完成,我们使用快捷键让我们速度非常快,这里要注意的是自定义方法eat 的书写,如何把各个属性拼接起来。
            好!下面我们就开始写测试类吧,注意测试类就要写main方法了!
            
[Java] 纯文本查看 复制代码
public class Pet_demo {
        public static void main(String[] args) {
                Pet cat = new Pet();      // 空参构造 + set方法
                cat.setKind("猫");
                cat.setColor("黄色");
                cat.setAge(2);
                cat.eat("鱼");
                
                Pet dog = new Pet("黑色","狗",4); //有参构造
                dog.eat("狗粮");
        }
}


      好!大功告成我们运行一下吧:
     
     ok!这个案例作为一个经典案例用来复习if语句,for循环,统计思想相关知识非常不错,很新颖。其实,每个案例都有很多种写法,不同的人可能有不同的思路。黑马程序员训练营也是非常鼓励大家开动脑筋积极思考的。
      
      点进这个帖子的同学肯定是要奋发图强,学技术拿高薪的有志青年,这里我看你骨骼惊奇,是个绝世的练武奇才,你我有缘,今天我就把这个武林秘籍如来神掌传授于你! 什么?不想学如来神掌?不要紧!这里有各个门派的武林绝学,链接拿好!!哈哈哈哈
   

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马