面向对象的特征和类的定义

面向对象

面向对象的理解:

把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出其共性,形成类

面向对象的基本特征:

封装,继承,多态。

封装

1.把属性私有化,实现了对外界的隐藏,然后通过共有的getter和setter方法对属性进行获取和赋值,保证了操作的安全性,一般属性私有化(private),方法公有化(public),除非方法只是用来内部调用,可以private修饰

2.对属性使用private私有化进行修饰,实现了对外界的隐藏,外界不能够直接操作类的属性

3.定义针对属性的getter和setter方法,完成对属性的获取和设置值,在发放中可以完成完全验证

继承

继承是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。

1、子类拥有父类得特征,而父类没有,父类更通用,子类更具体,(特征包括属性和方法,自身的特性,拥有父类没有的)

2、使用extends继承父类,语句格式:class 子类名 extends 父类名

3、父类中一般只定义一般属性和方法(这个一般可以理解为是子类共有的,这就是父类更通用,而子类拥有其他的,所以子类更具体)

4、子类中通过super关键字来调用父构造方法

5、在子类中可以继承父类中,父类中public,protected修饰的属性,方法可以继承,private修饰的属性和方法不能被继承

6、规则: 创建子类对象的时候,首先调用的是父类的无参构造方法创建一个父类对象

7、可以在子类中显示调用父类的有参构造方法

8、如果父类的属性均为private修饰,则可以通过共有的getter,setter方法来调用

多态

多态性,就是一个父类的引用变量,可以指向其任意一个子类对象。

类的定义:

类是对相同特性或属性,具有相同行为能力的一类具体事物的描述或称呼

类的属性

类的属性,类的属性按使用范微分为公有属性和私有属性,类的属性范围取决于属性的名称。

公有属性:在类中和类外都能调用的属性。

私有属性:不能在类外以及类以外的函数调用。

package text;

public class Books {
    //属性
    private int bookId;
    private String bookName;
    private String bookAuthor;
    private int bookNum;
    private double bookPrice;
    private String introduce;

    //构造方法
    public Books(){

    }

    public Books(int bookId, String bookName, String bookAuthor, int bookNum, double bookPrice, String introduce) {
        this.bookId = bookId;
        this.bookName = bookName;
        this.bookAuthor = bookAuthor;
        this.bookNum = bookNum;
        this.bookPrice = bookPrice;
        this.introduce = introduce;
    }

    public int getBookId() {
        return bookId;
    }

    public void setBookId(int bookId) {
        this.bookId = bookId;
    }

    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

    public String getBookAuthor() {
        return bookAuthor;
    }

    public void setBookAuthor(String bookAuthor) {
        this.bookAuthor = bookAuthor;
    }

    public int getBookNum() {
        return bookNum;
    }

    public void setBookNum(int bookNum) {
        this.bookNum = bookNum;
    }

    public double getBookPrice() {
        return bookPrice;
    }

    public void setBookPrice(double bookPrice) {
        this.bookPrice = bookPrice;
    }

    public String getIntroduce() {
        return introduce;
    }

    public void setIntroduce(String introduce) {
        this.introduce = introduce;
    }

    @Override
    public String toString() {
        return "school{" +
                "bookId=" + bookId +
                ", bookName='" + bookName + '\'' +
                ", bookAuthor='" + bookAuthor + '\'' +
                ", bookNum=" + bookNum +
                ", bookPrice=" + bookPrice +
                ", introduce='" + introduce + '\'' +
                '}';
    }

    public static void main(String[]args){
    Books b1 = new Books();//无参的构造方法
        System.out.println(b1);



    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python面向对象编程是一种编程范式,它将数据和操作数据的方法组合在一起,形成一个对象。类是面向对象编程的基本概念,它是一种用户自定义的数据类型,可以包含属性和方法。属性是类的特征,方法是类的行为。类可以被实例化为对象,每个对象都有自己的属性和方法。在Python中,使用class关键字定义类,使用对象.属性或对象.方法的方式来访问类的属性和方法。面向对象编程 ### 回答2: Python是一种非常流行的编程语言,因为它有着非常丰富的库和工具,并且易于学习和使用。Python支持面向对象编程,其面向对象编程的特点包括:封装、继承和多态。面向对象编程可以将一个复杂问题分解为不同的对象和类,每个对象和类都有自己的属性和方法,它们之间互相作用,共同解决问题。 在Python中,通过“class”关键字定义类,类中包含了一些变量和方法,而这些变量和方法都可以通过创建类的实例来访问。例如: ``` class MyClass: def __init__(self, name): self.name = name def say_hello(self): print("Hello, " + self.name + "!") ``` 在上面的代码中,我们定义了一个名为“MyClass”的类,它有一个名为“name”的属性和一个名为“say_hello”的方法。其中,“__init__”方法是一个特殊的方法,在创建实例时会被调用,用于初始化实例的属性。 要使用这个类,我们需要创建它的一个实例: ``` my_object = MyClass("World") my_object.say_hello() # 输出:Hello, World! ``` 在上面的代码中,我们创建了一个名为“my_object”的实例,它的“name”属性被设置为“World”,然后我们调用了“say_hello”方法来打印一条问候语。 除了定义类和创建实例外,还可以使用继承来扩展现有类。例如: ``` class MyChildClass(MyClass): def say_goodbye(self): print("Goodbye, " + self.name + "!") ``` 在上面的代码中,我们创建了一个名为“MyChildClass”的子类,它继承了“MyClass”的所有属性和方法,并添加了一个名为“say_goodbye”的方法。 当我们创建一个“MyChildClass”的实例时,它同样具有“name”属性和“say_hello”方法。此外,因为它继承了“MyClass”,我们还可以调用“say_hello”方法。例如: ``` my_child_object = MyChildClass("Universe") my_child_object.say_hello() # 输出:Hello, Universe! my_child_object.say_goodbye() # 输出:Goodbye, Universe! ``` 在上面的代码中,我们创建了一个名为“my_child_object”的实例,它的“name”属性被设置为“Universe”。我们首先调用了“say_hello”方法,然后调用了“say_goodbye”方法,它是“MyChildClass”的独有方法。 总的来说,面向对象编程可以帮助我们在编写复杂的应用程序时更好地组织代码,使其更易于维护和扩展。在Python中,实现面向对象编程非常简单,只需要定义类、创建实例和使用继承即可。通过有意义地利用面向对象编程的特点,我们可以更加高效地编写Python应用程序。 ### 回答3: Python是一种面向对象的编程语言,它支持类、对象、继承、封装、多态等面向对象编程的基本特点。在Python中,类是一组代码的抽象,一个类可以包含多个方法和属性,实例化之后可以创建对象。类的定义使用关键字class来声明,示例代码如下: ```python class Person: def __init__(self, name, age): self.name = name self.age = age def say_hello(self): print("Hello, my name is {} and I'm {} years old.".format(self.name, self.age)) ``` 这个例子定义了一个Person类,其中包含了一个构造函数和一个say_hello方法。构造函数用来初始化对象的属性,它的第一个参数是self,代表当前对象。say_hello方法打印出对象的属性。 创建对象的时候,需要通过类名调用构造函数,示例代码如下: ```python person = Person("Alice", 20) person.say_hello() # Hello, my name is Alice and I'm 20 years old. ``` 这个例子创建了一个名为person的对象,它的name属性为"Alice",age属性为20。调用say_hello方法后,输出了一段问候语。 在Python中,继承是一种重要的特性,它允许一个类继承另一个类的属性和方法。示例代码如下: ```python class Student(Person): def __init__(self, name, age, grade): super().__init__(name, age) self.grade = grade def say_hello(self): print("Hello, my name is {} and I'm a student in grade {}.".format(self.name, self.grade)) ``` 这个例子定义了一个Student类,它继承自Person类,拥有Person类的所有属性和方法。同时,它还定义了一个grade属性和一个重写了say_hello方法。 创建Student对象的时候,需要调用Student类的构造函数,示例代码如下: ```python student = Student("Bob", 18, 12) student.say_hello() # Hello, my name is Bob and I'm a student in grade 12. ``` 这个例子创建了一个名为student的对象,它的name属性为"Bob",age属性为18,grade属性为12。调用say_hello方法后,输出了一段问候语。 封装是面向对象编程的另一个重要特性,它允许将数据和代码包装在一起,只暴露需要对外公开的接口。在Python中,可以使用属性来实现封装。示例代码如下: ```python class Animal: def __init__(self, name): self._name = name @property def name(self): return self._name @name.setter def name(self, value): self._name = value ``` 这个例子定义了一个Animal类,它有一个name属性,通过@property装饰器将name属性设置为只读属性,通过@name.setter装饰器将name属性设置为可写属性,这样外部代码只能通过对象的接口来读写对象的属性。 多态是面向对象编程的另一个重要特性,它允许一个对象在不同情况下表现出不同的行为。在Python中,多态可以通过继承和方法重写来实现。示例代码如下: ```python class Shape: def draw(self): pass class Rectangle(Shape): def draw(self): print("Drawing a rectangle") class Circle(Shape): def draw(self): print("Drawing a circle") ``` 这个例子定义了一个Shape类和两个继承自Shape类的子类Rectangle和Circle。这三个类都有一个draw方法,但它们的行为不同。创建Rectangle和Circle对象后,可以调用它们的draw方法来观察它们的行为。 这篇文章介绍了Python面向对象编程的基本概念和用法,包括类、对象、继承、封装、多态等特性。面向对象编程是一种非常重要的编程范式,它让代码更加清晰、易于扩展和维护。希望读者可以通过这篇文章了解Python面向对象编程的基础知识,并在实践中运用它们。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值