java基础之面向对象的三个特性

来源:互联网 发布:编程珠玑 pdf 图灵社区 编辑:程序博客网 时间:2024/05/14 04:18

一、面向对象

  面向对象是软件开发的一种方法。它具有三个基本特点:封装、继承、多态。

二、封装

1、封装:是指隐藏对象的属性和实现细节,仅对外提供共共访问方式。

2、好处:提高了代码的重用性和安全性。

3、原则:把不需要对外部提供的方法隐藏;把属性隐藏,通过公共方法对其访问。

4、程序实例:

  在这个实例中我们封装了Person的一些属性,这里可以在方法中加入一些条件,如age必须大于0小于200,体现了代码的可重用性。另外如果我们某个属性不可以访问,则不写get方法即可,这里体现了程序的安全性。

class Person {private String name;private int age;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;}}
三、继承

1、继承:继承是对原有类功能和属性的扩充。

2、好处:提高了代码的复用性,继承和实现是多态的前提。

3、原则:java只支持单继承;支持多个实现。

4、程序实例:

class Person {String name;int age;}class Student extends Person {void study() {System.out.println("good study");}}class Worker extends Person {void work() {System.out.println("good work");}}class ExtendsDemo {public static void main(String[] args) {Student s = new Student();s.name = "zhagnsan";}}
四、多态

1、多态:父类的引用指向子类的对象。

2、好处:提高了程序的可维护性和可扩展性。

3、原则:需要继承或实现接口;有覆盖操作。

abstract class Animal {abstract void eat();}class Cat extends Animal {public void eat() {System.out.println("吃鱼");}public void catchMouse() {System.out.println("抓老鼠");}}class Dog extends Animal {public void eat() {System.out.println("吃骨头");}public void kanJia() {System.out.println("看家");}}class Pig extends Animal {public void eat() {System.out.println("饲料");}public void gongDi() {System.out.println("拱地");}}class PolyDemo {public static void main(String[] args) {function(new Cat());function(new Dog());function(new Pig());}public static void function(Animal a) {a.eat();}}


0 0
原创粉丝点击