什么是面向对象思想

  面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节;这种思想是将数据作为第一位,而方法或者说是算法作为其次,这是对数据一种优化,操作起来更加的方便,简化了过程。面向对象有三大特征:封装性、继承性、多态性,其中封装性指的是隐藏了对象的属性和实现细节,仅对外提供公共的访问方式,这样就隔离了具体的变化,便于使用,提高了复用性和安全性。对于继承性,就是两种事物间存在着一定的所属关系,那么继承的类就可以从被继承的类中获得一些属性和方法;这就提高了代码的复用性。继承是作为多态的前提的。多态是说父类或接口的引用指向了子类对象,这就提高了程序的扩展性,也就是说只要实现或继承了同一个接口或类,那么就可以使用父类中相应的方法,提高程序扩展性,但是多态有一点不好之处在于:父类引用不能访问子类中的成员。

举例来说:就是:比如说你要去饭店吃饭,你只需要饭店,找到饭店的服务员,跟她说你要吃什么,然后就会给你做出来让你吃,你并不需要知道这个饭是怎么错做的,你只需要面向这个服务员,告诉他你要吃什么,然后他也只需要面向你吃完收到钱就好,不需要知道你怎么对这个饭进行吃。

1、特点:

1:将复杂的事情简单化。

2:面向对象将以前的过程中的执行者,变成了指挥者。

3:面向对象这种思想是符合现在人们思考习惯的一种思想。

2、面向对象的三大特征:封装,继承、多态

1.封装:只隐藏对象的属性和实现细节,仅对外提供公共访问方式

好处:将变化隔离、便于使用、提高复用性、提高安全性

原则:将不需要对外提供的内容隐藏起来;把属性隐藏,提供公共方法对其访问

2.继承:提高代码复用性;继承是多态的前提

注:

①子类中所有的构造函数都会默认访问父类中的空参数的构造函数,默认第一行有super()若无空参数构造函数,子类中需指定;另外,子类构造函数中可自己用this指定自身的其他构造函数。

3.多态

是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象

好处:提高了程序的扩展性

弊端:当父类引用指向子类对象时,虽提高了扩展性,但只能访问父类中具备的方法,不可访问子类中的方法;即访问的局限性。

前提:实现或继承关系;覆写父类方法。

 

  • 80
    点赞
  • 259
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
面向对象思想是一种编程范式,它将程序中的数据和操作封装到对象中,通过对象之间的交互来实现程序的功能。Python是一门面向对象的编程语言,因此它支持面向对象编程的特性。 在Python中,一切皆为对象对象是类的实例,类是对象的抽象描述。面向对象编程的核心思想是将问题抽象为类,通过创建类的实例来解决问题。 面向对象编程的特点包括封装、继承和多态。封装是指将数据和操作封装在类中,通过对外提供接口来访问和操作数据。继承是指通过定义一个新的类来继承已有类的属性和方法,从而实现代码的复用。多态是指同一类对象在不同情况下表现出不同的行为。 在Python中,定义一个类使用关键字class,类中可以定义属性和方法。属性是类的数据成员,方法是类的函数成员。通过创建类的实例对象,可以访问和操作类中定义的属性和方法。 例如,下面是一个简单的Python类的例子: ```python class Person: def __init__(self, name, age): self.name = name self.age = age def say_hello(self): print("Hello, my name is", self.name) print("I am", self.age, "years old.") # 创建Person类的实例对象 person = Person("Alice", 25) # 访问对象的属性 print(person.name) # 输出:Alice # 调用对象的方法 person.say_hello() # 输出:Hello, my name is Alice # I am 25 years old. ``` 在上面的例子中,Person类表示一个人,它有两个属性name和age,以及一个方法say_hello用来打招呼。通过创建Person类的实例person,我们可以访问和操作实例的属性和方法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值