当前位置: 首页 > news >正文

网站开发百灵鸟优化/简单的网站建设

网站开发百灵鸟优化,简单的网站建设,外贸网站建设公司青岛,网站制作费用价格表Java面向对象的理解和实现代码 理解Java面向对象的重要知识点: 一、 类,对象 类?首先举一个例子:小李设计了一张汽车设计图,然后交给生产车间来生产汽车,有黑色的、红色的、白色的... 这里,汽车…
Java面向对象的理解和实现代码

    理解Java面向对象的重要知识点:

一、 类,对象

    类?首先举一个例子:小李设计了一张汽车设计图,然后交给生产车间来生产汽车,有黑色的、红色的、白色的... 这里,汽车设计图就是我们说的类(class)生产车间就是new构造器(大部分对象都是new出来的),生产出来的汽车就是我们要说的对象。可以说java编程实质就是构建类的过程。

    对象?万物皆对象,宇宙中,如植物,动物,人类,每个个体都是各司其职、各尽所能的。这就要求对象高内聚、低耦合(简单理解就是人的大脑,它负责思考,想象,记忆,而不能呼吸,排毒,消化食物,从而保证它独立和高效)。对象具有两种东西状态(属性)和行为(方法),请看下面代码:

    Student.java

public class Student {String name;      //姓名int age;           //年龄String classNo;    //班级String hobby;     //爱好//输出信息方法public void show(){System.out.println(name + "\n年龄:" + age + "\n就读于:" +classNo + "\n爱好:" + hobby);}
}

    InitialStudent.java

public class InitialStudent {public static void main(String args[]){Student student = new Student();    //建立对象student.name = "张浩";            //给对象赋值student.age = 10;student.classNo = "S1班";      student.hobby = "篮球";student.show();            //调用方法
} }

 

二、封装,继承,多态

    封装?举个粗俗的比喻,我的移动硬盘存了很多各式各类的资料,但是舍友常常借用,时不时拿我的用(格式化?装系统?存电影?),这就给我这个拥有者非常大的不便,我就跟他声明,这个硬盘是我私有的,不能你得按照我允许的方式使用!对象也是这样,不能随意的存取内部数据,否则会造成“交叉感染”。所以我们需要封装:将属性私有化,提供公有的方法访问私有属性。

    Adult.java

public class Adult {private int age;public int getAge() {return age;}public void setAge(int age) {if (age < 18) {System.out.println("错误!最小年龄应为18岁!");this.age = 18; // 如果不符合年龄要求,则赋予默认值
        }else{this.age = age;}}public String toString() {return " [age=" + age + "]";}
}

 

    TestAdult.java

public class TestAdult {public static void main(String[] args) {Adult p1 = new Adult();      p1.setAge(20);              //通过seter、geter、toString来对Adult类的私有属性访问System.out.println(p1.toString());  //增加了数据访问限制,保证可维护性}
}

 

    继承?经理觉得小李设计的汽车设计图非常棒,但是现在推崇新能源,于是需要将引擎改成电能发动机。于是小陈轻而易举的将图纸中汽油发动机部分改成引擎发动机,再重制一下关系就完成了新图纸!这就是继承的作用:是使用已存在的类的定义作为基础建立新类,新的类可以拥有父类的特点,也可以衍生出更多的特点。这使得复用以前的代码非常容易,能够大大缩短开发时间。

    Person.java

class Person {                    // 定义人类public String mName;         // 姓名public int mAge;             // 年龄public void dining() {System.out.println("吃饱了...");}                            // 吃饭的方法
}class Student extends Person {   // 学生类继承于人类public float mGrade;         // 成绩public void examination() {System.out.println("考试及格了...");}                            // 考试的方法
}class Teacher extends Person {  // 教师类继承于人类public float mSalary;       // 薪水public void prelection() {System.out.println("上课很累...");}                           // 上课的方法
}

   TestPerson.java 

public class TestPerson { public static void main(String[] args) {Student std = new Student(); // 实例化学生对象std.mName = "李东";std.mAge = 18; // 为姓名和年龄赋值,访问的是父类中的成员std.dining(); // 调用吃饭的方法,访问的是父类中的成员std.examination(); // 调用考试方法,访问的是子类中的成员
Teacher teacher = new Teacher(); // 实例化教师对象teacher.mName = "赵忠祥";teacher.mAge = 72;// 为姓名和年龄赋值,访问的是父类中的成员teacher.dining();// 调用吃饭的方法,访问的是父类中的成员teacher.prelection();// 调用考试方法,访问的是子类中的成员
    }
}

 

    多态?程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。多态性增强了软件的灵活性和扩展性。小李喜欢听小鸟唱歌{麻雀,杜鹃,鹦鹉}

    小李:窗外的鸟儿,给我唱首歌。                                                            

    1.(鸟 bird = new 麻雀 )?                                                                

    2.(鸟 bird = new 杜鹃 )?                                                                

    3.(鸟 bird = new 鹦鹉 )?                                                                

    鸟儿:bird.sing()~~~~~                                                                    

    小李:鸟儿唱的不错,你是哪种鸟?                                                         

    鸟儿: bird.shape()                                                                            

    小李:(---如果上面蓝字定义的是3,是鹦鹉)哈哈!原来你是鹦鹉!              

     所以,多态的过程实质是一个抽象指令,让一组具有相同行为单具有不同内容的个体协同工作的这样的一个过程。

    人无完人,但会完蛋,如有错误,恳请指出!

(本文原创,转载请注明出处!)

posted on 2014-06-19 01:08 东东啊 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/Tauran/p/3795430.html

http://www.lbrq.cn/news/1592785.html

相关文章:

  • 大型网站建设翻译英文/小说关键词生成器
  • 武汉外贸型网站建设/长沙新媒体营销
  • 成都php网站建设/镇江推广公司
  • 零基础网站建设视频教程/长沙专业seo优化公司
  • 如何给网站刷流量/软文范例大全200字
  • 网站维护是什么意思/奶茶网络营销策划方案
  • 学校网站模板 html/深圳seo公司
  • 个人网站建设的论文/开淘宝店铺怎么运营推广
  • 网站开发费用报价单/seo课程培训视频
  • 建网站需要什么技术/网上营销策略有哪些
  • 网站怎么做会员系统/社群营销成功案例
  • 山东建设管理局网站/网站统计工具有哪些
  • 长沙移动网站建设哪家好/网站推广排名优化
  • 用源码网站好优化吗/微信怎么推广找客源
  • 创建好网站如何把浏览器/建站推广
  • 昆山做网站需要多少钱/百度账号快速注册入口
  • 衡水网站制作/网络优化seo
  • 网站开发是什么专业/长沙百度关键词排名
  • 重庆工程建设招标网官方网站/长沙营销型网站建设
  • 企业建立网站的目的/企业培训课程名称
  • wordpress 支付宝插件下载/博客seo教程
  • html5高端酒水饮料企业网站模版/线上拓客渠道有哪些
  • 重庆的汽车网站建设/企业官网搭建
  • 网站开发后期要解决的问题/pc网站建设和推广
  • 传统网站开发/长沙百度网站排名优化
  • 区政府网站建设规范报告/广州网页搜索排名提升
  • 一些房产网站是怎么做的/网站关键词怎么添加
  • wordpress升级原理/网络优化排名培训
  • 莆田网站制作方案定制/建网站平台
  • 网站建设分金手指专业七/网络推广费用
  • 如何在 VS Code 中进行 `cherry-pick`
  • NodeJs学习日志(1):windows安装使用node.js 安装express,suquelize,sqlite,nodemon
  • 【数字图像处理系列笔记】Ch03:图像的变换
  • Python包安全工程实践:构建安全可靠的Python生态系统
  • 灰色优选模型及算法MATLAB代码
  • Rust进阶-part3-生命周期