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

是:特指某一个事物

属于:同一的类型

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

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

人类
鸟类
汽车类
败类

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

学习面向对象的好处:
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. 如何确定Isilon里的磁盘是多大的?

    在不知道节点任何信息的情况下,可以使用下面的方法来确定磁盘的大小. 1. 使用命令"sysctl efs.gmp.infos | less",能得到cluster的所有节点以及所有 ...

  2. linux下gflags的安装

    gflags是google开发的一套命令行参数解析工具,被很多软件系统所依赖,应该算是一个基础的库,安装其实很简单,但是如果在网上找的一些教程大部分都是安装后不能被其他软件调用的,因为默认使用cmak ...

  3. Ubuntu安装守护进程supervisor

    Supervisor安装与配置(Linux/Unix进程管理工具) asp.net core 负载均衡集群搭建(centos7+nginx+supervisor+kestrel) 为了保证服务能够稳定 ...

  4. Effective Java 第三版——64. 通过对象的接口引用对象

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

  5. 批量备份数据库脚本(PowerShell版)

    开始 昨天备份一个数据库拿来测试,发现备份后的文件非常大.后来去检查下使用的备份脚本,原来之前的备份脚本没有压缩功能. 现把之前的备份脚本修改下,支持压缩备份,和支持仅复制备份(CopyOnly). ...

  6. 史上最简单的 SpringCloud 教程 | 终章

    https://blog.csdn.net/forezp/article/details/70148833转载请标明出处:http://blog.csdn.net/forezp/article/det ...

  7. 关于asyncio知识(一)

    一.介绍 asyncio 是python3.4 引入的一个新的并发模块,主要通过使用coroutines 和 futures 来让我们更容易的去实现异步的功能,并且几乎和写同步代码一样的写代码,还没有 ...

  8. csproj文件中copy指令的使用方式

    实际开发中有很多项目需要引用第三方的dll或者资源文件,且文件比较多,在运行时这些文件需要被拷贝到BIN目录. 使用VS自带的"复制到输出目录",似然方便,但是比较不零活,经过多次 ...

  9. CentOS7下解决ifconfig command not found的办法

    先 https://www.cnblogs.com/PatrickLiu/p/8433273.html 再 https://blog.csdn.net/ryu2003/article/details/ ...

  10. window10下TensorFlow-gpu环境搭建

    安装python 下载python3.5.4 https://www.python.org/downloads/release/python-354/ 选择Windows x86-64 executa ...