【面向对象】
李坤是不是人?(人类)
飞飞是不是人?(人类)
扎心是不是人?(人类)

是:特指某一个事物

属于:同一的类型

什么是对象:
就是特指的某一个东西,万物皆对象

什么是类:
具有一批相同属性和特点的东西

人类
鸟类
汽车类
败类

单词-》函数(内置函数、自定义函数)->类

学习面向对象的好处:
1、代码更加的紧凑
2、让代码更加的优雅
3、很复杂的功能一条代码搞定

【两个层面】
1、语法层面
2、思维层面(靠你的代码量训练出来的)设计模式

【OOA】
面向对象分析

【OOD】
面向对象设计

【OOP】重点
面向对象编程

缺点:
比面向过程的速度慢

为什么慢?

慢了为什么还要学?

1、团队开发
2、减少开发时间
3、有利于维护 减少冗余

【面向对象的三大特征】
1、封装
公共的
public

受保护的
protected

私有的
private

2、继承
extends

3、多态
PHP里面多态几乎没有不明显

类的定义:
关键字class 类名
{

}

注意:类名首字母大写 后面跟着大括号,切记没有小括号

程序里面的对象的定义:

实例化的类就是对象 -》 new关键字

什么类的时候需要注意的几点:

1、声明成员属性的时候 必须加上修饰词 public 或者 var(不用了) 就是变量

2、声明成员方法的时候可以不加修饰词,建议加上吧,var 不能修饰成员方法 就是函数

【总结】:
1、必须使用关键字class
2、类名字的首字母必须是大写
3、遵循大驼峰命名法 MyName myName
4、不能使用内置函数名,不能使用系统保留的关键字
5、可以使用下划线
6、类名字要有意义
【成员属性】
1、必须使用关键字去修饰(public 、 protected 、private)还可以使用var 但是现在不用了
2、说白了成员属性就是咱们基础课学的怎么去声明变量

【成员方法】
1、与函数一样
2、有意义
3、驼峰命名法
4.。。。。。

【必须要知道滴东西】
1、-> 对象成员访问符号,说白了就是 汉字里面的 ’的‘
2、在实例化这个类的时候 虽然 不加小括号不报错,但是我建议都加上+()
3、在外部访问成员属性的时候不要加$
4、成员方法里面可以有形参,可以有默认值,和你们当初学的函数一模一样

【$this】
this 就是代表的当前类

js 里面也有this 但不是$this(了解就行)

注意:当本类当中使用自

使用自己的成员属性的时候 变量前面不能加$

【1】public的更多相关文章

  1. 【java】public,private和protected

    public表示紧随其后的元素对任何人都是可用的,而private这个关键字表示除类型创建者和类型内部方法之外的任何人都不能访问的元素.protected关键字与private作用相当,差别仅在于继承 ...

  2. 【翻译】configuration changes与handler.post

    原文地址 http://corner.squareup.com/2013/12/android-main-thread-2.html 在前一部分里面previous part ,我们深入挖掘了 loo ...

  3. 【LeetCode】数组-4(581)-给未排序数组中子数组排序使得整个数组排序 找到这个最小的子数组

    这道题目感觉并不太容易,也并没有想到什么比较好的方法,看来还是积累太少. 思路一:两个指针向后遍历,分别记下造成逆序的最小和最大下标位置 优化的暴力解法(很精妙,面试的时候可以说出来) 思想:两个指针 ...

  4. 【反射】Reflect Class Field Method Constructor

    关于反射 Reflection 面试题,什么是反射(反射的概念)? 主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义 ...

  5. 【Type】类型 ParameterizedType

    Type 接口[重要] Type接口完整的定义: public interface java.lang.reflect.Type { /** * Returns a string describing ...

  6. 【Java】基本类型和引用类型(值传递)

    [关键词] [问题] · 加深对基本类型和引用类型的理解: [效果图] [分析] 參见最后的[參考资料] [解决方式] [代码] public void test() throws Exception ...

  7. 【LeetCode】Palindrome Partitioning 解题报告

    [题目] Given a string s, partition s such that every substring of the partition is a palindrome. Retur ...

  8. 【Leetcode】交替打印FooBar

    [问题]我们提供一个类: class FooBar { public void foo() { ; i < n; i++) { print("foo"); } } publi ...

  9. 【Java】abstract,final,static,private,protected,public的区别

    [abstract]抽象的 1. abstract可以修饰类和成员方法,被abstract修饰的类称为抽象类,被abstract修饰成员方法叫抽象方法.抽象类不一定有抽象方法,但拥有抽象方法的类一定是 ...

随机推荐

  1. seq_file学习(1)—— single_open

    span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }.CodeMirror ...

  2. nvidia-docker2配置与NVIDIA驱动安装

    要运行高版本的GPU版TensorFlow,需要更新宿主机的显卡驱动(本文以NVIDIA390为例) 一.更新驱动 禁用nouveau驱动: 添加/etc/modprobe.d/blacklist.c ...

  3. 理解Docker镜像分层

    关于base镜像 base 镜像有两层含义: 不依赖其他镜像,从 scratch 构建. 其他镜像可以之为基础进行扩展. 所以,能称作 base 镜像的通常都是各种 Linux 发行版的 Docker ...

  4. MyBatis(五):mybatis关联映射

    Mybatis中表与表之间的关系分为一下4类: 1)一对一 2)一对多 3)多对一 4)多对多 创建数据Demo表 数据库表: 用户表user:记录了购买商品的用户信息. 订单表orders:记录了用 ...

  5. 2-08. 用扑克牌计算24点(25) (ZJU_PAT 数学 枚举)

    题目链接:http://pat.zju.edu.cn/contests/ds/2-08 一副扑克牌的每张牌表示一个数(J.Q.K分别表示11.12.13,两个司令都表示6).任取4张牌.即得到4个1~ ...

  6. Quartz小记(一):Elastic-Job - 分布式定时任务框架

    Elastic-Job是ddframe中dd-job的作业模块中分离出来的分布式弹性作业框架.去掉了和dd-job中的监控和ddframe接入规范部分.该项目基于成熟的开源产品Quartz和Zooke ...

  7. ionic ion-tab图标修改, 自定义tab图标

    遇到需要自定义tab图标很简单, 只需要自定义相应的css就可以了, 这里要注意的是如何调整背景图片的大小. <ion-view hide-back-button="false&quo ...

  8. java 根据系统日期获取前一天、后一天时间(根据初始日期推算出期望(向前/向后)日期)

      1.情景展示  java 根据系统当前日期获取前一天日期.后一天日期,或者根据初始日期推算出期望(向前/向后)日期. 2.解决方案 导包 import java.text.ParseExcepti ...

  9. Effective Java 第三版—— 84. 不要依赖线程调度器

    Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...

  10. Introducing DataFrames in Apache Spark for Large Scale Data Science(中英双语)

    文章标题 Introducing DataFrames in Apache Spark for Large Scale Data Science 一个用于大规模数据科学的API——DataFrame ...